Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-98431

Create/edit page | Children display macro : Combobox is not programmatically defined

XMLWordPrintable

      Issue Summary

      On the "Create/edit page | Children display" page, the "Parent Page" combobox is not programmatically declared.

      Steps to Reproduce

      1. Open Confluence.
      2. Navigate onto the "Create" link in the header and activate it.
      3. Navigate onto "Insert more content" > "Other macro" buttons and activate them.
      4. Activate the "Children display" button.
      5. Navigate to the mentioned instance and inspect the code.
      6. Observe that the combobox is not programmatically defined.

      Screenshot

      Actual Results

      There is a combobox that is not correctly programmatically defined with appropriate roles and properties. The <input > element of the "Parent Page" combobox does not use role="combobox" or aria-activedescendant. As well, the child listbox does not use role="listbox", role="option" and aria-selected attributes.

      This may particularly  disadvantage the users of a screen reader. That the combobox is not correctly programmatically defined may confuse or mislead them about the functionality of the form field.

      Expected Results

      Make sure that the combobox components are programmatically determined. In this scenario, we would recommend you to create a combobox with appropriate ARIA roles and properties. On the combobox, use role="combobox". Where possible, expand a native <input>. Make sure that the <input> is labelled. This can be done with <label> or aria-labelledby. Use aria-expanded to differentiate when the listbox is expanded and collapsed. As well, use aria-activedescendant to programmatically determine the active option. This attribute uses the id of the active option. On the listbox, use role="listbox". Where possible, expand a list container such as <ul>. On the options, use role="option". Where possible, expand <li>. As well, use aria-selected to differentiate of the active and inactive options. For more information, you can refer " https://www.w3.org/WAI/ARIA/apg/patterns/combobox/"

      Code Snippet

      <label for="ex">Parent page</label>
      <input id="ex" type="search" role="combobox" aria-activedescendant="01" aria-autocomplete="list" aria-expanded="true" aria-controls="results" aria-haspopup="listbox" ...>
      <ul id="results" role="listbox" aria-label="Page list">
      <li id="01" role="option" aria-selected="true">...</li>
      <li id="02" role="option">...</li>
      ...
      </ul>

      Workaround

      Currently there is no known workaround for this behavior. A workaround will be added here when available

      Environment

      MacBook Pro (16-inch, 2021)
      macOs Ventura 13.3.1
      Chrome - Version 113.0.5672.63 (Official Build) (x86_64)
      Firefox- Version 92.0 (64-bit)
      Safari- Version 16.4 (18615.1.26.110.1)
      JAWS- Version 2023
      NVDA- Version 2024.3
      Voiceover - Version Latest

              Unassigned Unassigned
              773dd3a38dd5 Cynthia Singh
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: