Make accessibility mode the default
In the existing docs, it states:
We recommend to always include the accessibility module, unless there is an explicit reason not to do so. Including this module will make your charts compatible with assistive technologies used by people with disabilities, and also improve the usability of your charts, helping you reach a broader audience. Including the Accessibility module will also help with SEO by making your charts more visible to web crawlers.
I seriously commend you for providing this support, but is there any reason not to make this the default and opt-out instead of opt-in?
Web dev in general has historically taken an opt-in approach to a11y, which has resulted in very low adoption of common a11y practices. Changing it to be opt-out would greatly increase adoption of what absolutely should be standard practices, and keeping it as an opt-out would still give devs the ability to opt out if they need to (though I'm not sure of what that use case is).
-
Great input, and I agree that an opt-out approach would be ideal here.
The reason for not including the accessibility module by default is a technical one. Our JS libraries are structured in such a way that the core functionality is one file, and additional functionality is included as needed in modules. This enables users to load only the functionality they need, not having to pay the performance penalties for additional functionality.
We are working on a better system for going the other way around - where you can disable the functionality you don't want, and build your own library file. Until this is completed, we unfortunately have no way to opt out of using the module if it is loaded.
As for use cases for not including the accessibility module, there are some hypothetical intranet or kiosk/closed systems where the features would not add value. Users can also choose to implement their own accessibility layer instead of ours, to better integrate with their systems. The common use case is however in server side exporting/reporting systems, where the output is a static image. In these cases, running the accessibility features would only cause additional server load, which we want to avoid.