From 64faad1c4f4d67b9745875b8d3a40034944acc47 Mon Sep 17 00:00:00 2001
From: Scott O'Hara User agents MUST treat a `button` that is a child element of a `select` element as one item in the accessibility tree.
+ User agents MUST use the text equivalent computation of the subtree of the
+ `button` element as the exposed value of the `select` element. If the `button` contains no content, then there is no value to expose
+ for the collapsed state of the `select`.
+
+ TBD: indicate that global html/aria attributes and html/aria attributes specific to buttons are not to be respected on a button that is a child of a select? Since the button/select are meant to be treated as one entity in the a11y tree, and the button's content is meant to be treated as the value for the select, and not the name of the select, it doesn't make much sense to treat this button as if it were actually a button...
+ See also `select` (with NO `multiple` attribute and NO `size` attribute having value greater than `1`) User agents MUST treat a `button` that is a child element of a `select` element as one item in the accessibility tree. User agents MUST treat a `button` that is a child element of a `select` element as one item in the accessibility tree. See also `button` element as a child of a `select` element. handling the role of the picker popup based on if it contains invalid descendents or not the role of the picker should also be contingent on whether invalid elements have accessible objects that exist outside/as siblings to option elements or not.
+ If an invalid element merely encapsulates the allowed children of a select, then that invalid element should instead be treated as if it had a generic/none role,
+ rather than modifying the role of the picker.
+ `button`
+
+ `button` as a child of a `select` element
+
+
+
+
+
+ HTML Specification
+
+ `button`
+
+
+
+ [[wai-aria-1.2]]
+
+
+
+
+
+
+ Computed Role
+
+
+
+
+
+
+ MSAA + IAccessible2
+
+
+sdfsddsaf
+
+
+
+ UIA
+
+
+
+
+ ATK
+
+
+
+
+
+ AX
+
+
+
+
+
+ Comments
+
+
+ `canvas`
@@ -6339,7 +6412,10 @@
From 235259399c8ec9f53ebb5f9797232f6fdbcccf6a Mon Sep 17 00:00:00 2001
From: Scott O'Hara `select` (with NO `multiple
Comments
-
+
+
`select` (with NO `multiple
From 60f862fb0121d7d1b1fb14c9f646abc5709205c1 Mon Sep 17 00:00:00 2001
From: Scott O'Hara `button` as a child of a `select` element
TBD: indicate that global html/aria attributes and html/aria attributes specific to buttons are not to be respected on a button that is a child of a select? Since the button/select are meant to be treated as one entity in the a11y tree, and the button's content is meant to be treated as the value for the select, and not the name of the select, it doesn't make much sense to treat this button as if it were actually a button...
+
+
+ suggest ignoring accesskey, autofocus, contenteditable, draggable, inert, popover, tabindex, title
See also `select` (with NO `multiple` attribute and NO `size` attribute having value greater than `1`)
From c05f0e6f74f4ffb2b25fc08be013e628f955ff97 Mon Sep 17 00:00:00 2001 From: Scott O'HaraUser agents MUST treat a `button` that is a child element of a `select` element as one item in the accessibility tree.
User agents MUST use the text equivalent computation of the subtree of the `button` element as the exposed value of the `select` element. If the `button` contains no content, then there is no value to expose for the collapsed state of the `select`.
++ Otherwise, user agents MUST treat the child `button` element of a `select` element as inert. The `select` and its child `button` are to be considered a single item + in the user agent's accessibility tree. +
- TBD: indicate that global html/aria attributes and html/aria attributes specific to buttons are not to be respected on a button that is a child of a select? Since the button/select are meant to be treated as one entity in the a11y tree, and the button's content is meant to be treated as the value for the select, and not the name of the select, it doesn't make much sense to treat this button as if it were actually a button...
-
-
- suggest ignoring accesskey, autofocus, contenteditable, draggable, inert, popover, tabindex, title
+ As this `button` element is meant to be treated as inert, any use of global HTML or ARIA attributes, or attributes specific to the `button` element or ARIA's `button` role
+ would not be exposed to the user agent's accessibility API.
See also `select` (with NO `multiple` attribute and NO `size` attribute having value greater than `1`)
Comments |
- User agents MUST use the text equivalent computation of the subtree of the - `button` element as the exposed value of the `select` element. If the `button` contains no content, then there is no value to expose - for the collapsed state of the `select`. + User agents MUST treat the child `button` element of a `select` element as inert. + The `select` and its child `button` part are meant to be considered a single item to users and in the user agent's accessibility tree. - Otherwise, user agents MUST treat the child `button` element of a `select` element as inert. The `select` and its child `button` are to be considered a single item - in the user agent's accessibility tree. + The text equivalent computation of the subtree of the + `button` element participates in the accessible value calculation of the `select` element. + See the `select` (with NO `multiple` attribute and NO `size` attribute having value greater than `1`) for more information. + ++ User agents MAY warn developers that the use of global HTML or ARIA attributes, or attributes specific to the `button` element or ARIA's `button` role are not expected to be used on a `button` element in this context. - As this `button` element is meant to be treated as inert, any use of global HTML or ARIA attributes, or attributes specific to the `button` element or ARIA's `button` role - would not be exposed to the user agent's accessibility API. + As this `button` element is inert, any use of global HTML or ARIA attributes, or attributes specific to the `button` element or ARIA's `button` role are not exposed to the user agent's accessibility API. -See also `select` (with NO `multiple` attribute and NO `size` attribute having value greater than `1`) |
---|---|
Comments |
- User agents MUST treat a `button` that is a child element of a `select` element as one item in the accessibility tree. -See also `button` element as a child of a `select` element. +To calculate the accessible value of a `select` element: +
- TODO:
-
+ handling the role of the picker popup based on if it contains invalid descendents or not -the role of the picker should also be contingent on whether invalid elements have accessible objects that exist outside/as siblings to option elements or not. - If an invalid element merely encapsulates the allowed children of a select, then that invalid element should instead be treated as if it had a generic/none role, - rather than modifying the role of the picker. - -The following text is still being refined ++ The calculated role of the customizable `select` element's popup picker is a `listbox`, by default. ++ If authors render invalid elements, in regard to the select element's content model, as descendants of the select element, and those invalid elements result in accessible objects being present as siblings in the accessibility tree to the valid descendent elements of the select, then user agents SHOULD expose the popup picker with the role of a modeless dialog. + ++ In the event invalid elements are present, but are not rendered, then no user agent role repair is necessary. ++ In the event that invalid elements are present, but are empty, or are only used as wrapping elements for the valid descendent element's of a select, then user agents SHOULD ignore these elements in the accessibility tree. + + +Treating the picker as a `dialog` can help inform users that content beyond the expected elements of a `listbox` popup are present, as they can then inspect the content of the dialog with their assistive technology to discover such content. + + |