Can I determine whether accessability features are active in the Browser?

Viewed 66

We are building a web app (JavaScript) which needs to comply with local regulations and guidelines about accessibility for people with disabilities.

Unfortunately we discovered that some accessibility support software does not work well with some nice-to-have UI design features and paradigms. This currently means we can't use those features at all.

One particular example is that our app often provides links to external sites with additional information. The by far preferred way by our users is for us to open these links either in a new tab or new window. As this however apparently confuses some screen readers we are not allowed to do this and always have to open links in the same window. It would be nice if instead we could determine whether a screen reader is being used and adapt the web-app behaviour accordingly.

This is just one example though. While solutions for this particular issue are much appreciated, it would be even better if there was a generic way in JavaScript to query if accessibility support features are currently active so we can adapt the UI at run-time to the specific needs of the current user?

1 Answers

There are limited things you can query such as prefers-reduced-motion and high-contrast.

However for various reasons there are not many things exposed in terms of what technologies / requirements users have (privacy, discrimination, bad practices of providing different versions of things for users etc. the debate is long and ongoing on the pros and cons of exposing this information so I wont cover that here).

If there are particular UI features and paradigms you are struggling to make accessible please do ask separate questions on those as it is very rare that an item cannot be made accessible with a bit of a restructure while maintaining current functionality.

To achieve what you originally asked one option you could add is an "accessibility settings" screen that allows users to tailor things to their needs if you believe that is the way to achieve maximum accessibility, however be careful you don't offer a substandard experience to those who use these settings, it could potentially also make maintainability a nightmare and so I wouldn't recommend it.

Related