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.
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.