Make WordPress Core

Opened 5 months ago

Last modified 5 months ago

#43154 new defect (bug)

JAWS and Internet Explorer 11 don't announce the fieldset legends

Reported by: afercia Owned by:
Milestone: 5.0 Priority: normal
Severity: normal Version:
Component: Administration Keywords: has-screenshots
Focuses: accessibility Cc:


This was reported by a user of the JAWS screen reader and I was able to reproduce using JAWS 2018 and Internet Explorer 11.

Seems that any fieldset legend is not announced at all by JAWS and IE 11 when focusing the fields within the fieldset. Screen readers should announce the fieldset legend when entering the fieldset, and most of them do it correctly. For example, testing with JAWS and Firefox ESR, the legends are announced correctly. I wasn't able to reproduce with other combos so it seems it's specific to the JAWS + IE11 combo.

Turns out the aria-label="Main content" and tabindex="0" applied on the wpbody-content container trigger this bug. Worth noting they're used as the target for the "Skip link" but that's not relevant for the bug. The only presence of the aria-label and tabindex attributes triggers the bug.

For testing purposes, I've prepared a couple patches. The first patch adds a form in the Reading Settings page. It's a simple form with a fieldset, a legend, and 2 radio buttons placed outside of the table in the page so that nothing interferes with the way it's announced by screen readers.


A reduced test case is available on this Codepen: https://codepen.io/afercia/full/GyaNOX/

To reproduce:

  • apply the first patch
  • go in the Reading Settings page
  • using JAWS and IE 11, tab to the first radio button
  • be sure JAWS switches to "forms mode" (you will hear a "beep"); if it doesn't, switch manually pressing Enter
  • JAWS should announce the legend and the radio button label: Do you have a passport? Yes radio button not checked
  • instead, it announces just Yes
  • use the down arrow key to select the second radio button: JAWS announces just No

This happens also with all the other radio buttons in the page, it's just a bit more difficult to test them because of the table cells etc.

Now apply the second patch. It just removes the aria-label and tabindex attributes from the main container. Repeat the steps above. JAWS will now announce the fieldset legend correctly.

Note: JAWS will announce the legend for every field in the fieldset (not just the first field). This is not the expected behaviour and it's a known JAWS behavior.

Worth noting, as per the WebAIM survey run on October 2017, JAWS + Internet Explorer is still the most used browser / screen reader combination. Whether it's an IE11 or JAWS bug, the consequence for many users is pretty serious. They won't have a clue what the radio buttons (and other fields) relates to.

Of course, those aria-label and tabindex attributes can't be simply removed. Any fix should also preserve the "Skip link" functionality.

Attachments (2)

jaws-test-01.diff (633 bytes) - added by afercia 5 months ago.
jaws-test-02.diff (401 bytes) - added by afercia 5 months ago.

Download all attachments as: .zip

Change History (4)

This ticket was mentioned in Slack in #accessibility by afercia. View the logs.

5 months ago

#2 @afercia
5 months ago

  • Milestone changed from Awaiting Review to 5.0
Note: See TracTickets for help on using tickets.