"Legends for certain fields are not announced by JAWS. As an example, within the “Create Basic page” screen, the “Promoted to front page” checkbox is announced by JAWS as “Promoted to front page checkbox not checked” instead of announcing the legend as, “Promotion Options, Promoted to front page checkbox not checked”.

This defect exists in IE11 and Google Chrome Version 55.0.2883.87 m.

Expected results: All legends are expected to be announced by JAWS. In this instance, JAWS is expected to announce the legend, “Promotion Options” as “Promotion Options, Promoted to front page checkbox not checked”.

Reference: Section 508, Part 1194.22, Paragraph (n).

Notes:
• This defect also exists elsewhere within the application.
• This defect exists on a screen that is not accessible via a keyboard. The user is forced to use the mouse to access this screen, which is not acceptable for a JAWS user.

Members fund testing for the Drupal project. Drupal Association Learn more

Comments

cortezj created an issue. See original summary.

cilefen’s picture

Category: Feature request » Bug report
Issue tags: +accessibility, +508 Compliance

Hi. Welcome to the issue queue. Just for your information, if you assign yourself to an issue, people assume you are working on the code fix.

cilefen’s picture

Version: 8.2.4 » 8.3.x-dev
kershme’s picture

Assigned: cortezj » Unassigned
Issue summary: View changes
Parent issue: » #2852732: [meta] Fix 508 compliance issues
mgifford’s picture

Again, Section 508 is changing to WCAG 2.0AA.

I'm also a bit confused as there isn't a legend here. I think the problem is with detail/summary elements in HTML5.

screenshot of checkbox

This is the HTML from /node/add/page in 8.3

<details class="node-form-options js-form-wrapper form-wrapper" data-drupal-selector="edit-options" id="edit-options" open="">    <summary role="button" aria-controls="edit-options" aria-expanded="true" aria-pressed="true">Promotion options</summary><div class="details-wrapper">
    <div class="field--type-boolean field--name-promote field--widget-boolean-checkbox js-form-wrapper form-wrapper" data-drupal-selector="edit-promote-wrapper" id="edit-promote-wrapper"><div class="js-form-item form-item js-form-type-checkbox form-type-checkbox js-form-item-promote-value form-item-promote-value">
        <input data-drupal-selector="edit-promote-value" id="edit-promote-value" name="promote[value]" value="1" class="form-checkbox" type="checkbox">

        <label for="edit-promote-value" class="option">Promoted to front page</label>
      </div>
</div>
<div class="field--type-boolean field--name-sticky field--widget-boolean-checkbox js-form-wrapper form-wrapper" data-drupal-selector="edit-sticky-wrapper" id="edit-sticky-wrapper"><div class="js-form-item form-item js-form-type-checkbox form-type-checkbox js-form-item-sticky-value form-item-sticky-value">
        <input data-drupal-selector="edit-sticky-value" id="edit-sticky-value" name="sticky[value]" value="1" class="form-checkbox" type="checkbox">

        <label for="edit-sticky-value" class="option">Sticky at top of lists</label>
      </div>
</div>
</div>
</details>

Version: 8.3.x-dev » 8.4.x-dev

Drupal 8.3.6 was released on August 2, 2017 and is the final full bugfix release for the Drupal 8.3.x series. Drupal 8.3.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.4.0 on October 4, 2017. (Drupal 8.4.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.4.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.5.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

andrewmacpherson’s picture

Title: 508 Compliance Issues - Legends » Improve ARIA usage for details/summary groups.
Component: browser system » javascript
Category: Bug report » Task
Issue tags: +JavaScript, +aria, +Needs issue rescope
Parent issue: #2852732: [meta] Fix 508 compliance issues » #2893640: Modernize ARIA usage, in line with ARIA 1.1 and the ARIA Authoring Practices guide.
Related issues: +#2852732: [meta] Fix 508 compliance issues

Okay so this looks like a spurious report, based on confusion between fieldset/legend and the new HTML5.1 details/summary.

The only examples specifically mentioned here are the node form meta data, which are all details/summary. The issue summary also notes that the issue exists elsewhere in the application. We are using details/summary quite liberally across our admin UI.

We now only use fieldset/legend sparingly (radios, and compound widgets like date/time) to avoid screen reader problems with nested fieldsets. In any case, fieldset/legend announcements vary considerably between different screen readers, so this is probably out of scope for Drupal core to address.

As far as details/summary go, I think there is room for improvement to align them better with the HTML Accessibility API mappings. That's currently a W3C working draft, and AFAIK no current browsers implement it yet. It's bleeding-edge, so it isn't really the fault of Drupal, browsers, or AT. Our present aria-details.js is out of sync with the roles + states suggested in the editor's draft, so we can make an improvement there. However we should proceed slowly, and wait for the drafts to stabilize.

TODO:
- Update this issue summary, make this issue about improving aria-details.js in line with HTML Accessibility API mappings.
- possibly postpone this until the W3C docs stabilize.
- Close off any old details/summary issues as outdated.

Version: 8.4.x-dev » 8.5.x-dev

Drupal 8.4.4 was released on January 3, 2018 and is the final full bugfix release for the Drupal 8.4.x series. Drupal 8.4.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.5.0 on March 7, 2018. (Drupal 8.5.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.5.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.6.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.