From 450ccf98bc80c25f9e9e046c2392c2af04bac164 Mon Sep 17 00:00:00 2001 From: Scott O'Hara Date: Wed, 8 Mar 2023 15:12:03 -0500 Subject: [PATCH] Clarify mappings for contenteditable Per discussion around the minimum role concept, and the WG deciding that contentedtiable should remain unmapped to any specific ARIA role when used on a generic. per that decision #324 is closed, but the other clarifications that were to be a part of that PR are now in this one. Additionally, there are other necessary updates needed for these mappings, as the previous ones did not get into the nuance of how to handle nested `contenteditable` attributes. --- index.html | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/index.html b/index.html index 8d2046f3..e4b7b562 100644 --- a/index.html +++ b/index.html @@ -3658,31 +3658,48 @@

HTML Attribute State and Property Mappings

HTML elements - ? + + Not mapped + +

If the element is in the editable state, the following mappings apply to the element and every nested accessible object with the + exception of those which have been specified in the `false` state.

States: - `IA2_STATE_EDITABLE` on this and every nested text accessible object + `IA2_STATE_EDITABLE` and `IA2_STATE_MULTI_LINE`
Interfaces: - `IAccessibleEditableText` on this and every nested text accessible object + `IAccessibleEditableText`
+

If the element is in the `false` state: not mapped.

+

If the element is in the `inherit` state: match the editable state of its parent element.

+

If the element is in the editable state, the following mappings apply to the element and every nested accessible object with the + exception of those which have been specified in the `false` state.

Control Pattern: `TextEdit`
+
+ Property: `AriaProperties.multiline:true` +
+

If the element is in the `false` state: not mapped.

+

If the element is in the `inherit` state: match the editable state of its parent element.

+

If the element is in the editable state, the following mappings apply to the element and every nested accessible object with the + exception of those which have been specified in the `false` state.

States: - `ATK_STATE_EDITABLE` on this and every nested text accessible object. + `ATK_STATE_EDITABLE` and `ATK_STATE_MULTI_LINE`
- Interfaces: - `AtkEditableText` on this and every nested text accessible object. + Interfaces: `AtkEditableText`
+

If the element is in the `false` state: not mapped.

+

If the element is in the `inherit` state: match the editable state of its parent element.

Role: @@ -3690,7 +3707,7 @@

HTML Attribute State and Property Mappings

Use WAI-ARIA mapping
- If the element has the `contenteditable` attribute and `aria-readonly="true"`, User Agents MUST expose only the `contenteditable` state. + If the element is set to `contenteditable` and `aria-readonly="true"`, User Agents MUST expose only the `contenteditable` state.