Header | User Profile: Redundant screen reader text for menu items

XMLWordPrintable

    • Severity 3 - Minor
    • Accessibility

      Issue Summary

      Screen reader redundantly announces “radio button” for the "Light", "Dark", and "Match browser" menuitemradio controls in the Theme menu.

      Steps to Reproduce

      1. Open the Confluence Cloud homepage.
      2. Navigate to the “cgoyal” user profile expandable button in the header section and activate it.
      3. Using a screen reader, navigate to the "Theme" menu button  and activate it.
      4. Press the "Down Arrow" key to navigate through the "Theme" menu.
      5. Observe that the screen reader redundantly announces “radio button” for the Theme options: Light, Dark, and Match browser.

      Screenshot

      Screen Recording

      Redundant Screen Reader Announcement Issue

      Actual Results

      When screen reader users activate the “Theme” menu and navigate through its options, the screen reader redundantly announces “radio button” for the “Light,” “Dark,” and “Match browser” menuitemradio controls. This occurs because each menu item is implemented as a <button role="menuitemradio"> and is additionally associated, via aria-describedby, with a <span> element containing the text “radio button”. The menuitemradio role already communicates the control's radio-button semantics and selection state through aria-checked; therefore, the additional descriptive text is redundant and results in unnecessary and potentially confusing information being announced to screen reader users.

      Expected Results

      Screen reader users should receive clear, concise, and non-redundant information when navigating the Theme menu options.

      Apply the following changes:

      • Remove the "aria-describedby" attribute from the <button> element containing the "Light", "Dark", and "Match browser" menuitemradio controls.
      • Remove the associated hidden <span> elements containing the “radio button” text.

      Note:

      This code example is intended only as a general illustration of how to address the violation and should not be considered a complete or production-ready solution. If you have any questions, please attach this ticket to a #help-accessibility request.

      Code Snippet:

      <div role="menu" aria-label="Theme">
      <button role="menuitemradio" aria-checked="true">
      <span>Light</span>
      </button>
      <button role="menuitemradio" aria-checked="false">
      <span>Dark</span>
      </button>
      ...
      </div>

      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 Tahoe 26.6.2
      Windows 11
      Chrome - 153.0.8010.37 (Official Build) (64-bit)
      Microsoft Edge - 152.0.4191.66 (Official build) (64-bit)
      Safari- Version 26.6.2
      JAWS- Version 2026
      NVDA- Version 2026.2
      VoiceOver - Version Latest

              Assignee:
              Unassigned
              Reporter:
              Chirag Goyal
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: