- From: Matthew King <mattking@us.ibm.com>
- Date: Tue, 29 Jul 2014 11:31:45 -0700
- To: Bryan Garaventa <bryan.garaventa@ssbbartgroup.com>
- Cc: Joseph Scheuhammer <clown@alum.mit.edu>, James Craig <jcraig@apple.com>, PF <public-pfwg@w3.org>, "Schnabel, Stefan" <stefan.schnabel@sap.com>
- Message-ID: <OF65454830.B5A47A5C-ON88257D24.0065B5F2-88257D24.0065C855@us.ibm.com>
Apparently this varies with the type of field and way of marking it up. I get the following results. <h2>aria-required and aria-invalid tests</h2> <p>A field marked with aria-required. JAWS correctly announces it as required.</p> <span id="fooFieldLabel">Foo:</span> <input aria-labeledby="FooFieldLabel" aria-required="true" aria-invalid="false" type="text" /> <p>A field marked invlaid and not required. JAWS correctly announces it as invalid.</p> <span id="barFieldLabel">Bar:</span> <input aria-labeledby="barFieldLabel" aria-required="false" aria-invalid="true" type="text" /> <p>A field marked invlaid and required. JAWS correctly announces it as both required and invalid.</p> <span id="beerFieldLabel">Beer:</span> <input aria-labeledby="beerFieldLabel" aria-required="true" aria-invalid="true" type="text" /> <p>Search input mark as required using HTML 5 markup. JAWS incorrectly announces it as both required and invalid.</p> <input title="Search" required type="search" placeholder="Search"> <p>HTML 5 search field marked invalid. JAWS correctly announces it as invalid.</p> <input title="Search" aria-invalid="true" type="search" placeholder="Search"> Matt King IBM Senior Technical Staff Member I/T Chief Accessibility Strategist IBM BT/CIO - Global Workforce and Web Process Enablement Phone: (503) 578-2329, Tie line: 731-7398 mattking@us.ibm.com From: Bryan Garaventa <bryan.garaventa@ssbbartgroup.com> To: Matthew King/Fishkill/IBM@IBMUS, Cc: Joseph Scheuhammer <clown@alum.mit.edu>, James Craig <jcraig@apple.com>, PF <public-pfwg@w3.org>, "Schnabel, Stefan" <stefan.schnabel@sap.com> Date: 07/29/2014 10:30 AM Subject: RE: Mapping @aria-invalid: string versus token value Afraid not, I just tested the following: <input title="Search" required type="search" placeholder="Search"> This is announced in JAWS as “required invalid entry” The Accessibility Tree object State in Firefox is as follows for this field “FOCUSED FOCUSABLE ALERT_LOW ALERT_HIGH”. And this is what it is for IE11: “FOCUSED FOCUSABLE” As opposed to the following markup: <input title="Search" aria-invalid="true" type="search" placeholder="Search"> Which has the following State in Firefox: “FOCUSED FOCUSABLE ALERT_HIGH” And this in IE11: “FOCUSED FOCUSABLE ALERT_HIGH”. So the State of ALERT_HIGH for both required=true and aria-invalid=true in FF causes JAWS to announce “invalid” for both. From: Matthew King [mailto:mattking@us.ibm.com] Sent: Tuesday, July 29, 2014 10:13 AM To: Bryan Garaventa Cc: Joseph Scheuhammer; James Craig; PF; Schnabel, Stefan Subject: RE: Mapping @aria-invalid: string versus token value When fields are marked required, JAWS is saying required. When they are marked invalid, JAWS is saying invalid. When they have both,I am pretty sure it is saying both ... need to verify that. This is with Firefox 31. I wonder what is behind the difference in our experiences. Matt King IBM Senior Technical Staff Member I/T Chief Accessibility Strategist IBM BT/CIO - Global Workforce and Web Process Enablement Phone: (503) 578-2329, Tie line: 731-7398 mattking@us.ibm.com From: Bryan Garaventa <bryan.garaventa@ssbbartgroup.com> To: "Schnabel, Stefan" <stefan.schnabel@sap.com>, Matthew King/Fishkill/IBM@IBMUS, Cc: James Craig <jcraig@apple.com>, Joseph Scheuhammer < clown@alum.mit.edu>, PF <public-pfwg@w3.org> Date: 07/29/2014 09:28 AM Subject: RE: Mapping @aria-invalid: string versus token value I understand, what I was referring to is that both states are the same in the Accessibility Tree, one for when required=”true”, and the same for when aria-invalid=”true”, so both are announced as being “invalid” by screen readers like JAWS. I was wondering if this was intentional. From: Schnabel, Stefan [mailto:stefan.schnabel@sap.com] Sent: Tuesday, July 29, 2014 12:03 AM To: Bryan Garaventa; Matthew King Cc: James Craig; Joseph Scheuhammer; PF Subject: RE: Mapping @aria-invalid: string versus token value I’m not absolutely sure what you mean, HTML5 @required maps to aria-required=true. aria-invalid is for state processing afterwards. Regards Stefan From: Bryan Garaventa [mailto:bryan.garaventa@ssbbartgroup.com] Sent: Dienstag, 29. Juli 2014 07:34 To: Schnabel, Stefan; Matthew King Cc: James Craig; Joseph Scheuhammer; PF Subject: RE: Mapping @aria-invalid: string versus token value I was running a couple of tests, and was curious about something. Should the required attribute have the same state as aria-invalid=”true” on a blank input? E.G Both of the following have a state of “ALERT_HIGH” in Firefox. <input title="Search" required type="search" placeholder="Search"> <input title="Search" aria-invalid="true" type="search" placeholder="Search"> From: Schnabel, Stefan [mailto:stefan.schnabel@sap.com] Sent: Monday, July 28, 2014 9:51 PM To: Matthew King Cc: James Craig; Joseph Scheuhammer; PF Subject: Re: Mapping @aria-invalid: string versus token value In addition, we could extend the list of allowed tokens (enumerations) with more members that represent typical other cases when errors or other kind of messages are thrown as a result of user actions in form fields. as i said yesterday, "warning" and "info" are candidates to indicate the nature of the severity level although their meaning could collide a bit with the "invalid" meaning of the very attribute. as rich ( ?) pointed out yesterday, an general "aria-messagelevel" attribute may be better here.. this can be associated with an eLement having a Aria role=message which makes the whole thing much more straightforward. message then can become either a popup or reside in a live region (message bar) Thoughts? - Stefan Sent from my iPad On 28.07.2014, at 21:31, "Matthew King" <mattking@us.ibm.com> wrote: Agree, we should only have string values where the expected behavior is for the AT to speak the string, e.g., aria-label. Otherwise it should be an ID or some enumerated value. Matt King IBM Senior Technical Staff Member I/T Chief Accessibility Strategist IBM BT/CIO - Global Workforce and Web Process Enablement Phone: (503) 578-2329, Tie line: 731-7398 mattking@us.ibm.com From: James Craig <jcraig@apple.com> To: PF <public-pfwg@w3.org>, Cc: Joseph Scheuhammer <clown@alum.mit.edu> Date: 07/28/2014 12:03 PM Subject: Mapping @aria-invalid: string versus token value @aria-invalid is a token value, but as Joseph pointed out today, the UAIG instructs user agents to map string values to the platform APIs. I think this is an error in the UAIG, even if some (or all) of the implementations are doing it. Free-form string tokens mean some AT could start providing special behavior for a non-standardized value. For example: JAWS could start using "warning-length" versus NVDA supporting "size-warning" to mean the same thing. I'd like to avoid the inconsistencies of the "browser war" years, so I don't think this possibility should exist. Thoughts?
Received on Tuesday, 29 July 2014 18:32:19 UTC