- From: Bryan Garaventa <bryan.garaventa@levelaccess.com>
- Date: Thu, 2 May 2019 21:44:30 +0000
- To: ARIA Working Group <public-aria@w3.org>
Proposed breakdown: General rules for all nodes processed during the accessible name and description computation: When processing begins, the root node and the current node are set to the same node, and then the current node is moved to recursively process the same naming algorithm on each node when applicable. To prevent infinite recursion, a node can only be processed once as part of the algorithm, and will be ignored if referenced again in any manner, including by aria-labelledby, aria-describedby, or aria-owns. The aria-labelledby and aria-describedby attributes can only be processed on a node when the root node and the current node are the same node. When the aria-labelledby or aria-describedby attributes include multiple id references, the name or description content of each returned id referenced element must be separated by a space to differentiate them. When the current node moves to each owned element of a tree, the traversal process must follow all descendants, including elements referenced by aria-owns when this is set on the current node. When aria-owns is set on the current node, the returned name or description content for the owned element must be appended to the name or description that was already returned for the current node, including a space character to separate the current node content from the owned element content to differentiate them. When the aria-owns attribute includes multiple id references, the name or description content of each returned id referenced element must be separated by a space to differentiate them. The returned text for elements rendered as block level element nodes, or separated visually on different lines, must include a space character at the beginning and end of the returned name or description string to differentiate them. When the current node includes either ":before" or ":after" CSS pseudo element content, ":before" must be prepended to the computed name or description for that node, and ":after" must be appended to the computed name or description for that node. The returned content for CSS pseudo elements rendered as block level elements, must include a space character at the beginning and end of the returned name or description string to differentiate them. The returned content for CSS pseudo elements rendered as inline elements, must be prepended or appended without any additional spaces to the returned name or description string to concatenate them. When the current node is a widget that includes a value and the current node does not match the root node while recursively processing descendant nodes, only the value of that widget must be returned as the name or description of that node; no other naming mechanism is otherwise allowed to be returned for this node. When returning the value of a descendant widget, the value must include a space at the beginning and end before appending it to the recursive name and description that is being computed to differentiate them. Bryan Garaventa Principal Accessibility Architect Level Access, Inc. Bryan.Garaventa@LevelAccess.com 415.624.2709 (o) www.LevelAccess.com
Received on Thursday, 2 May 2019 21:44:56 UTC