qzind / tray

Browser plugin for sending documents and raw commands to a printer or attached device.
https://qz.io
Other
841 stars 274 forks source link

Added basic accessibility #1240

Closed Vzor- closed 7 months ago

Vzor- commented 7 months ago

Fixes #1234

We could use System.setProperty("javax.accessibility.assistive_technologies", ""); to avoid issues with accessibility by completely removing the feature, even when enabled globally on the system. That was my initial solution, and to enable accessibility using a build flag. Originally I was concerned about the security implications of the JAB (Java Access Bridge) which is used to communicate accessibility information on windows. After reading a bit on the topic though, I believe the JAB is safe, and decided to instead support it.

I tested it with the NVDA screen reader, as JAWS requires a license, and Windows Narrator seems to be completely blind to swing. There were a few issues, such as our 'LinkLabel' not being selectable with tab. Some issues still exist, such as our tables capture the cursor when tabbing, and don't allow it to escape. This is observable on our 'View Request Details' window.