Originally written in an email, converted into a Gist for "posterity"
A couple of articles and some general comments on heuristics…
“Notes on Client-Rendered Accessibility”: https://www.smashingmagazine.com/2015/05/client-rendered-accessibility/ - this is a good dive (from 2015) into the various issues that can happen with client-side Javascript frameworks like Knockout. A lot of it will be familiar to you from WCAG – frameworks don’t really introduce any new problems, they just give you many new ways to create them.
“CSS and Javascript accessibility best practices”: https://developer.mozilla.org/en-US/docs/Learn/Accessibility/CSS_and_JavaScript - another good overview of issues that can arise from Javascript. Again, nothing that will be unfamiliar, but may be a good resource to send to developers.
The larger question of “how do we ensure the front-end framework is accessible?” has two considerations:
- The framework itself – does it have a stated concern for accessibility, documentation in regards to the a11y considerations? It’s a positive sign if a general-purpose framework has statements about accessibility, such as:
- React: https://reactjs.org/docs/accessibility.html
- Angular: https://docs.angularjs.org/guide/accessibility
- There are also frameworks that are specifically intended to be accessibility-oriented, such as:
- Many frameworks also support “plugins”, “add-ons” or a similar concept - even if a framework makes guarantees about accessibility in its core, plug-ins for the framework may not be accessible – it will depend on the specifics of implementation
Even with statements on accessibility and framework developers who are knowledgeable and make their best efforts, there’s no infallible guarantees - a developer concerned for accessibility needs to have sufficient knowledge to assess what the framework is generating in regards to HTML, CSS and Javascript. If a framework or plug-in is generating inaccessible code, it will need to be modified, extended or replaced in order to meet accessibility criteria – there’s no “the framework we chose doesn’t generate accessible code” exception to AODA / ADA.