Technology decisions for The A11Y Project.
The A11Y Project uses the following technology:
This is a deliberate choice intended to balance:
- Accessibility and interoperability.
- Ease of set up.
- Approachability for beginners.
- Cross-Operating System and browser support.
- Local and end-user performance.
When working on the website, please be sure to utilize these technology choices first, and stay with them if at all possible. Honoring these technology choices helps to keep the site easier to maintain.
These technologies were evaluated and purposefully not utilized. We are not interested in incorporating them into the project.
These module bundlers are complicated to set up and maintain and not a good fit for a site of this size and complexity.
We use Sass to control CSS-related variables to to maximize compatibility with older and non-standard browsers.
We consider this approach to CSS to be an industry antipattern.
We intentionally use a relatively limited set of technologies, so our need for codifying our environment to the degree a container grants is less of a concern. Additionally, the computational resources needed to run a container may make working on the site difficult for more lower-power devices.
We use pre-ES6 JavaScript to maximize compatibility with older and non-standard browsers, as well as niche assistive technology.
We use Sass in favor of PostCSS not only to lessen dependencies, but to also streamline the amount of learning someone needs to do to work with our site's CSS.
Our content needs do not require the benefits of a Single Page Application approach. In addition, these technology choices would artificially inflate the level of complexity to work on the site, as well as introduce significant barriers for assistive technology users and low-power devices.
We previously used to use YAML for storing data, but now prefer JSON. The exception to this is for Eleventy and Markdown frontmatter.