- From: Fred Esch <fesch@us.ibm.com>
- Date: Mon, 9 May 2016 15:17:36 -0400
- To: Joanmarie Diggs <jdiggs@igalia.com>
- Cc: ARIA Working Group <public-aria@w3.org>
- Message-Id: <201605091927.u49JRX7D007284@d01av01.pok.ibm.com>
Joanie, As I understand it, aria-readonly should not be used on inputs. And if authors do so, the native host language readonly attribute wins out. Right? Reference: https://www.w3.org/TR/html-aria/#attr-readonly Section 7.5 Conflicts with Host Language Semantics in ARIA 1.1 has similar guidance. (last line 4th paragraph) When a host language declares a WAI-ARIA attribute to be in direct semantic conflict with a native attribute for a given element, user agents MUST ignore the WAI-ARIA attribute and instead use the host language attribute with the same implicit semantic. Also note 2nd to last line 4th paragraph - which gives AT an additional requirement is case of conflict. Therefore, to prevent providing conflicting states and properties to assistive technologies, host languages MUST explicitly declare where the use of WAI-ARIA attributes on each host language element conflicts with native attributes for that element. Related aside #1: There is a finite set of roles which support aria-readonly, according to the ARIA spec. And I didn't find any implicit mappings that turn contenteditable elements into one of those supporting roles. AngularJS can turn an element into an input. With angular your paragraph <p> (or div or span) could end up with a role of textbox. To your last point (Back to the matter at hand:) would a statement - don't do dumb things be sufficient? Or do you want us to try and list every possible dumb thing not to do. Folks are inventive, the list could get long. Regards, Fred Esch Watson, IBM, W3C Accessibility IBM Watson Watson Release Management and Quality From: Joanmarie Diggs <jdiggs@igalia.com> To: ARIA Working Group <public-aria@w3.org> Date: 05/08/2016 01:15 AM Subject: The use of aria-readonly on contenteditable elements Hey all. As I understand it, aria-readonly should not be used on inputs. And if authors do so, the native host language readonly attribute wins out. Right? Reference: https://www.w3.org/TR/html-aria/#attr-readonly Assuming my understanding is correct, I've not yet found anything which addresses the use of aria-readonly on contenteditable elements, other than what is stated at reference above, namely: Only use the aria-readonly attribute for elements that are not allowed to have a readonly attribute in HTML5 Thus given this example: <p contenteditable aria-readonly="true">Edit me!</p> The 'p' element is not allowed to have a readonly attribute in HTML5. Are user agents really supposed to expose that as read only?? Related aside #1: There is a finite set of roles which support aria-readonly, according to the ARIA spec. And I didn't find any implicit mappings that turn contenteditable elements into one of those supporting roles. Related aside #2: ATK and AT-SPI2 got STATE_READ_ONLY awhile back. So when the Core AAM is updated to reflect that, if aria-readonly is true, then STATE_READ_ONLY should be exposed. ATK and AT-SPI2 have forever had STATE_EDITABLE for text widgets. If contenteditable is true, then STATE_EDITABLE should be exposed, as is stated in the HTML AAM. These two states and mappings are similar to the existing states and mappings for IA2. Back to the matter at hand: Regardless of the answer to my "really?" question above, should the Core AAM and/or HTML AAM have some guidance for user agents regarding not putting two states which express completely opposite meaning in the state set of an object? --joanie
Attachments
- image/gif attachment: 09663954.gif
- image/gif attachment: graycol.gif
Received on Monday, 9 May 2016 19:30:30 UTC