Uploaded image for project: 'Jira Software Data Center'
  1. Jira Software Data Center
  2. JSWSERVER-25553

Accessibility Assessment - Roadmaps: Custom form controls not programmatically determined and operable for screen reader users

XMLWordPrintable

    Issue Summary

    On the Accessibility Assessment - Roadmaps page, JAWS users cannot select an option using arrow keys that appears for the "Show the past" and "Show the next" custom input fields (that becomes available on activating "Custom" button > "Relative" tab) in the main content area.

    Steps to Reproduce

    1. Navigate to the "Plans" dropdown and activate it.
    2. Select any plan from the list.
    3. Open the "Accessibility Assessment - Roadmaps" page.
    4. Navigate to the main content.
    5. Navigate to the "Custom" button and activate it.
    6. Navigate to the "Relative" tab and activate it.
    7. Using screen reader, navigate to the mentioned custom form fields.
    8. Inspect the code.

    Screen Recording

    test - Advanced Roadmaps - InstEnv Jira - Google Chrome 2024-02-06 11-43-19.mp4

    Actual Results

    As soon as user use arrow keys within the "Show the past" and "Show the next" custom input fields, a list of options appear visually. While trying to select an option using JAWS, the virtual cursor exits forms mode and none of the option could be selected. The focus is not managed appropriately such that using JAWS an option can be selected. Moreover, the options are not placed inline to the <input> elements. Instead, they are placed at the end of the page.

    As well, the instructions “Use Up and Down to choose an option. Press enter to select the currently focused option. Press escape to exit the menu” are incomplete. The options in these input fields can be selected with Up, Down, Left, and Right arrow keys. However, the instructions do not talk about Left and Right arrow key navigation. As a result, the screen reader users cannot select any options that appears for the custom input fields.

    Expected Results

    Make sure that the combobox is programmatically defined by providing appropriate role and attributes, so that the screen reader users can interact with it effectively.

    To achieve this, make the following changes:

    • Provide role="combobox" for <input> element containing the mentioned form control in the DOM.
    • Specify role="listbox" for <ul> element containing the combobox options, as well provide role="option" for <li> element containing each option.
    • Specify the “aria-expanded” attribute and set the value as “false“ when it is in the collapse state. Make sure that the value should be updated on user interaction.
    • The attributes "aria-autocomplete", "aria-haspopup", and "aria-controls" further define the exact behavior of the component. They are not strictly required for conformance. However, we strongly encourage you to use these attributes.
    • Additionally, make sure the options available in combo boxes are also accessible for screen reader users. Use aria-activedescendant attribute on the <input> elements to determine the active option. This attribute uses the "id" of the active option.

    For more information on implementing the combobox, Refer:

    https://www.w3.org/WAI/ARIA/apg/patterns/combobox/

    https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-activedescendant

    Workaround

    Required, if there is no workaround please state:
    Currently there is no known workaround for this behavior. A workaround will be added here when available

    Environment

    MacBook Pro (16-inch, 2021)
    macOs Monterey Version 12.3.1
    Chrome - Version 101.0.4606.81 (Official Build) (64-bit)
    Firefox- Version 93.0 (32-bit)
    Safari- Version 15.3 (17612.4.9.1.5)
    JAWS- Version 2022
    NVDA- Version 2020.3
    Voiceover - Version Latest

            578bae526277 Arun S
            4cbd728b4726 Rinku Kumar
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: