Component Library

Screen Reader Mode

Issue Description

When a user navigates page content and encounters a form control, the screen reader might change from browse to forms or application mode inadvertently, or if an ARIA application role is used unnecessarily or incorrectly.

The user should retain control over changing screen reader interaction modes. Screen readers should remain in focus or browse mode while navigating through page content, even if that includes form fields. The user expects that the Enter or Space key should change from browse mode to forms mode, and Insert+: to change back to browse mode, but that the user should remain in control of that change.

When simple interactions like entering data into a text field or selecting radio buttons or checkboxes do not allow a user to easily switch back to browse mode to continue navigating through page content, it can be easy for the screen reader to miss content, as the Tab key will most likely just move focus to the next form control or link.

  • This might be due to using a table structure for fom controls that use an ARIA <role="presentation"> to hide the underlying table structure.
  • Can be caused by mismatched inputs when masking with ARIA roles rather than using native semantics.

Recommendation

Avoid changing screen reader interaction mode without clear purpose, this can create confusion for a user who might not understand why a change of mode is required without instructions. This can be negated by changing JAWS' Forms Mode setting from Auto to Manual, which would allow a screen reader user to navigate through the page content using either the Tab key or the Up and Down Arrow keys without inadvertently changing into Forms Mode, though using ARIA roles or otherwise not relying on native semantics can introduce issues with how assistive technology interacts with and identifies content.

  • Ensure that there are no keyboard shortcut conflicts that prevent user from changing screen reader interaction modes (forms/focus), or entering / exiting different content areas on page.
  • Using native semantics can help improve the user agent' s ability to properly identify how the elements are announced and how to interact with them.
  • Avoid using the Escape key to exit application or forms mode, as it resets the user focus on the page.

https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/Application_Role