Open Bug 1766299 Opened 3 years ago Updated 2 years ago

Required attribute on input announced by screen reader as invalid entry prior to user entry

Categories

(Core :: Disability Access APIs, defect)

Firefox 99
defect

Tracking

()

UNCONFIRMED

People

(Reporter: joewatkinspdx, Unassigned)

Details

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36

Steps to reproduce:

  1. With Firefox and a screen reader of your choice visit https://cdpn.io/pen/debug/NWXmXxE
  2. Send focus to the first test field which owns the required attribute.
  3. Then send focus to the second field which owns aria-required="true".

Actual results:

JAWS/FF: Test edit required invalid entry type in text
JAWS/FF: Test two edit required type in text

NVDA/FF: Test edit required invalid entry has autocomplete blank
NVDA/FF: Test two edit required has autocomplete blank

The first test field which owns the required attribute is announced as "invalid entry" even though no entry has been made. This is confusing and frustrating for screen reader users since they've not entered text yet for it to be invalid. Validity state is defined along with its requiredness.

The second field which owns the aria-required is announced much better, it only announces the requiredness. It does not announce "invalid entry". The ARIA spec requires a separate attribute aria-required to define the required property and should not be set until after user interaction.

Expected results:

A field which owns the native HTML required attribute is only announced as required and not as "invalid entry". This would be an equal experience for all users. Most forms do not trigger error messages on landing and await user interaction. Enabling engineers to reach for the most semantic method for defining the required property without introducing a less than equal experience for screen readers is the goal.

This is resulting in engineers using aria-required over the native required attribute as a result.

Related issue:
https://bugzilla.mozilla.org/show_bug.cgi?id=666544

ARIA: mismatch between native and custom required contro
https://github.com/w3c/aria/issues/1488

HTML: Required attribute invalid state on landing not an equal experience for all user
https://github.com/whatwg/html/issues/7848

Chrome Issue:
https://bugs.chromium.org/p/chromium/issues/detail?id=1318969#c_ts1650658597

The Bugbug bot thinks this bug should belong to the 'Core::Disability Access APIs' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Disability Access APIs
Product: Firefox → Core
Severity: -- → S3

Is there any update on this bug?

You need to log in before you can comment on or make changes to this bug.