From f4c6669070fb75191b11661ab01430e15a3bea1f Mon Sep 17 00:00:00 2001 From: James Craig Date: Thu, 6 May 2021 15:57:05 -0700 Subject: [PATCH] Add and link attribute terms: Defines, Identifies, and Indicates. (#1439) * Add and link attribute terms: Defines, Identifies, and Indicates. Resolves #516. Co-authored-by: Carolyn MacLeod Co-authored-by: James Nurthen --- index.html | 115 ++++++++++++++++++++++++++++++----------------------- 1 file changed, 65 insertions(+), 50 deletions(-) diff --git a/index.html b/index.html index e3a9f1d89..ee6164601 100644 --- a/index.html +++ b/index.html @@ -298,6 +298,11 @@

Important Terms

A deprecated role, state, or property is one which has been outdated by newer constructs or changed circumstances, and which may be removed in future versions of the WAI-ARIA specification. User agents are encouraged to continue to support items identified as deprecated for backward compatibility. For more information, see Deprecated Requirements in the Conformance section.

+
Defines
+
+

Used in an attribute description to denote that the value type is an integer, number, or string.

+

Related Terms: Identifies, Indicates

+
Desktop focus event

Event from/to the host operating system via the accessibility API, notifying of a change of input focus.

@@ -324,6 +329,16 @@

Important Terms

Indicates that the element is not visible, perceivable, or interactive to any user. An element is considered hidden if it or any one of its ancestor elements is not rendered or is explicitly hidden.

+
Identifies
+
+

Used in an attribute description to denote that the value type is an ID reference (identifying a single element) or ID reference list (identifying one or more elements).

+

Related Terms: Defines, Indicates

+
+
Indicates
+
+

Used in an attribute description to denote that the value type is a named token or otherwise token-like, including the Boolean-like true/false, true/false/undefined, tristate (true/false/mixed), a single named token, or a token list.

+

Related Terms: Defines, Identifies

+
Informative

Content provided for information purposes and not required for conformance. Content required for conformance is referred to as normative.

@@ -10629,7 +10644,7 @@

Definitions of States and Properties (all aria-* attributes)

aria-activedescendant
-

Identifies the currently active element when DOM focus is on a composite widget, combobox, textbox, group, or application.

+

Identifies the currently active element when DOM focus is on a composite widget, combobox, textbox, group, or application.

The aria-activedescendant property provides an alternative method of managing focus for interactive elements that may contain multiple focusable descendants, such as menus, grids, and toolbars. Instead of moving DOM focus among owned elements, authors MAY set DOM focus on a container element that supports aria-activedescendant and then use aria-activedescendant to refer to the element that is active.

Authors MUST ensure that one of the following two sets of conditions is met when setting the value of aria-activedescendant on an element with DOM focus:

    @@ -10672,7 +10687,7 @@

    Definitions of States and Properties (all aria-* attributes)

    aria-atomic
    -

    Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute.

    +

    Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute.

    Both accessibility APIs and the Document Object Model [[DOM]] provide events to allow the assistive technologies to determine changed areas of the document.

    When the content of a live region changes, user agents SHOULD examine the changed element and traverse the ancestors to find the first element with aria-atomic set, and apply the appropriate behavior for the cases below.

      @@ -10732,7 +10747,7 @@

      Definitions of States and Properties (all aria-* attributes)

      aria-autocomplete
      -

      Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for a combobox, searchbox, or textbox and specifies how predictions would be presented if they were made.

      +

      Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for a combobox, searchbox, or textbox and specifies how predictions would be presented if they were made.

      The aria-autocomplete property describes the type of interaction model a textbox, searchbox, or combobox employs when dynamically helping users complete text input. It distinguishes between two models: the inline model (aria-autocomplete="inline") that presents a value completion prediction inside the text input and the list model (aria-autocomplete="list") that presents a collection of possible values in a separate element that pops up adjacent to the text input. It is possible for an input to offer both models at the same time (aria-autocomplete="both").

      The aria-autocomplete property is limited to describing predictive behaviors of an input element. Authors SHOULD either omit specifying a value for aria-autocomplete or set aria-autocomplete to none if an input element provides one or more input proposals where none of the proposals are dependent on the specific input provided by the user. For instance, a combobox where the value of aria-autocomplete would be none is a search field that displays suggested values by listing the 5 most recently used search terms without any filtering of the list based on the user's input. Elements with a role that supports aria-autocomplete have a default value for aria-autocomplete of none.

      When an inline suggestion is made as a user types in an input, suggested text for completing the value of the field dynamically appears in the field after the input cursor, and the suggested value is accepted as the value of the input if the user performs an action that causes focus to leave the field. When an element has aria-autocomplete set to inline or both, authors SHOULD ensure that the automatically suggested portion of the text is presented as selected text. This enables assistive technologies to distinguish between a user's input and the automatic suggestion and, in the event that the suggestion is not the desired value, enables the user to easily delete the suggestion or replace it by continuing to type.

      @@ -10807,7 +10822,7 @@

      Definitions of States and Properties (all aria-* attributes)

      aria-braillelabel
      -

      Defines a string value that labels the element, which is intended to be converted into Braille. See related aria-label.

      +

      Defines a string value that labels the current element, which is intended to be converted into Braille. See related aria-label.

      The purpose of aria-braillelabel is similar to that of aria-label. It provides the user with a recognizable name of the object in Braille.

      The aria-braillelabel property gives authors the ability to override how assistive technologies localize and express the accessible name of an element in Braille. Thus inappropriately using aria-braillelabel may inhibit users' ability to understand an element on braille interfaces. Authors SHOULD limit use of aria-braillelabel to instances where the name of an element when converted to Braille is not the desired user experience.

      When using aria-braillelabel, authors SHOULD also ensure that:

      @@ -10857,7 +10872,7 @@

      Definitions of States and Properties (all aria-* attributes)

      aria-brailleroledescription
      -

      Defines a human-readable, author-localized abbreviated description for the role of an element, which is intended to be converted into Braille. See related aria-roledescription.

      +

      Defines a human-readable, author-localized abbreviated description for the role of an element, which is intended to be converted into Braille. See related aria-roledescription.

      Some assistive technologies, such as screen readers, present the role of an element as part of the user experience. Such assistive technologies typically localize the name of the role, and they may customize it as well. Users of these assistive technologies depend on the presentation of the role name, such as "region," "button," or "slider," for an understanding of the purpose of the element and, if it is a widget, how to interact with it.

      The aria-brailleroledescription property gives authors the ability to override how assistive technologies localize and express the name of a role in Braille. Thus inappropriately using aria-brailleroledescription may inhibit users' ability to understand or interact with an element on braille interfaces. Authors SHOULD limit use of aria-brailleroledescription to clarifying the purpose of non-interactive container roles like group or region, or to providing a more specific description of a widget in a braille context.

      Authors MUST NOT use aria-brailleroledescription without providing aria-roledescription. In general, aria-brailleroledescription should only be used in rare cases when a aria-roledescription is excessively verbose when rendered in Braille.

      @@ -10921,7 +10936,7 @@

      Definitions of States and Properties (all aria-* attributes)

      aria-busy
      -

      Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user.

      +

      Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user.

      The default value of aria-busy is false for all elements. When aria-busy is true for an element, assistive technologies MAY ignore changes to content owned by that element and then process all changes made during the busy period as a single, atomic update when aria-busy becomes false.

      If it is necessary to make multiple additions, modifications, or removals within a container element that is already either partially or fully rendered, authors MAY set aria-busy to true on the container element before the first change, and then set it to false when the last change is complete. For example, if multiple changes to a live region should be spoken as a single unit of speech, authors MAY set aria-busy to true while the changes are being made and then set it to false when the changes are complete and ready to be spoken.

      If an element with role feed is marked busy, assistive technologies MAY defer rendering changes that occur inside the feed with the exception of user-initiated changes that occur inside the article that the user is reading during the busy period.

      @@ -10977,7 +10992,7 @@

      Definitions of States and Properties (all aria-* attributes)

      aria-checked
      -

      Indicates the current "checked" state of checkboxes, radio buttons, and other widgets. See related aria-pressed and aria-selected.

      +

      Indicates the current "checked" state of checkboxes, radio buttons, and other widgets. See related aria-pressed and aria-selected.

      The aria-checked attribute indicates whether the element is checked (true), unchecked (false), or represents a group of other elements that have a mixture of checked and unchecked values (mixed). Most inputs only support values of true and false, but the mixed value is supported by certain tri-state inputs such as a checkbox or menuitemcheckbox.

      The mixed value is not supported on radio, menuitemradio, switch or any element that inherits from these, and user agents MUST treat a mixed value as equivalent to false for those roles.

      Examples using the mixed value of tri-state inputs are covered in the WAI-ARIA Authoring Practices.

      @@ -11041,7 +11056,7 @@

      Definitions of States and Properties (all aria-* attributes)

      aria-colcount
      -

      Defines the total number of columns in a table, grid, or treegrid. See related aria-colindex.

      +

      Defines the total number of columns in a table, grid, or treegrid. See related aria-colindex.

      If all of the columns are present in the DOM, it is not necessary to set this attribute as the user agent can automatically calculate the total number of columns. However, if only a portion of the columns is present in the DOM at a given moment, this attribute is needed to provide an explicit indication of the number of columns in the full table.

      Authors MUST set the value of aria-colcount to an integer equal to the number of columns in the full table. If the total number of columns is unknown, authors MUST set the value of aria-colcount to -1 to indicate that the value should not be calculated by the user agent.

      The following example shows a grid with 16 columns, of which columns 2, 3, 4, and 9 are displayed to the user.

      @@ -11103,7 +11118,7 @@

      Definitions of States and Properties (all aria-* attributes)

      aria-colindex
      -

      Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid. See related aria-colindextext, aria-colcount, and aria-colspan.

      +

      Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid. See related aria-colindextext, aria-colcount, and aria-colspan.

      If all of the columns are present in the DOM, it is not necessary to set this attribute as the user agent can automatically calculate the column index of each cell or gridcell. However, if only a portion of the columns is present in the DOM at a given moment, this attribute is needed to provide an explicit indication of the column of each cell or gridcell with respect to the full table.

      Authors MUST set the value for aria-colindex to an integer greater than or equal to 1, greater than the aria-colindex value of any previous elements within the same row, and less than or equal to the number of columns in the full table. For a cell or gridcell which spans multiple columns, authors MUST set the value of aria-colindex to the start of the span.

      If the set of columns which is present in the DOM is contiguous, and if there are no cells which span more than one row or column in that set, then authors MAY place aria-colindex on each row, setting the value to the index of the first column of the set. Otherwise, authors SHOULD place aria-colindex on all of the children or owned elements of each row.

      @@ -11218,7 +11233,7 @@

      Definitions of States and Properties (all aria-* attributes)

      aria-colindextext
      -

      Defines a human readable text alternative of aria-colindex. See related aria-rowindextext.

      +

      Defines a human readable text alternative of aria-colindex. See related aria-rowindextext.

      Authors SHOULD only use aria-colindextext when the provided or calculated value of aria-colindex is not meaningful or does not reflect the displayed index, as is the case with spreadsheets and chess boards.

      Authors SHOULD NOT use aria-colindextext as a replacement for aria-colindex because some assistive technologies rely upon the numeric column index for the purpose of keeping track of the user's position or providing alternative table navigation.

      Unlike aria-colindex, aria-colindextext is not a supported property of row because user agents have no way to reliably calculate aria-colindextext for the purpose of exposing its value on the cell or gridcell.

      @@ -11254,7 +11269,7 @@

      Definitions of States and Properties (all aria-* attributes)

      aria-colspan
      -

      Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid. See related aria-colindex and aria-rowspan.

      +

      Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid. See related aria-colindex and aria-rowspan.

      This attribute is intended for cells and gridcells which are not contained in a native table. When defining the column span of cells or gridcells in a native table, authors SHOULD use the host language's attribute instead of aria-colspan. If aria-colspan is used on an element for which the host language provides an equivalent attribute, user agents MUST ignore the value of aria-colspan and instead expose the value of the host language's attribute to assistive technologies.

      Authors MUST set the value of aria-colspan to an integer greater than or equal to 1 and less than the value which would cause the cell or gridcell to overlap the next cell or gridcell in the same row.

      @@ -11289,7 +11304,7 @@

      Definitions of States and Properties (all aria-* attributes)

      aria-controls
      -

      Identifies the element (or elements) whose contents or presence are controlled by the element with aria-controls. See related aria-owns.

      +

      Identifies the element (or elements) whose contents or presence are controlled by the current element. See related aria-owns.

      For example:

      • A table of contents tree view may control the content of a neighboring document pane.
      • @@ -11330,7 +11345,7 @@

        Definitions of States and Properties (all aria-* attributes)

        aria-current
        -

        Indicates the element that represents the current item within a container or set of related elements.

        +

        Indicates the element that represents the current item within a container or set of related elements.

        The aria-current attribute is an enumerated type. Any value not included in the list of allowed values SHOULD be treated by assistive technologies as if the value true had been provided. If the attribute is not present or its value is an empty string or undefined, the default value of false applies and the aria-current state MUST NOT be exposed by user agents or assistive technologies.

        The aria-current attribute is used when an element within a set of related elements is visually styled to indicate it is the current item in the set. For example:

          @@ -11414,7 +11429,7 @@

          Definitions of States and Properties (all aria-* attributes)

          aria-describedby
          -

          Identifies the element (or elements) that describes the object. See related aria-labelledby and aria-description.

          +

          Identifies the element (or elements) that describes the object. See related aria-labelledby and aria-description.

          The aria-labelledby attribute is similar to aria-describedby in that both reference other elements to calculate a text alternative, but a label should be concise, where a description is intended to provide more verbose information.

          The element or elements referenced by the aria-describedby comprise the entire description. Include ID references to multiple elements if necessary, or enclose a set of elements (e.g., paragraphs) with the element referenced by the ID.

          @@ -11456,7 +11471,7 @@

          Definitions of States and Properties (all aria-* attributes)

          aria-description
          -

          Defines a string value that describes or annotates the element. See related aria-describedby.

          +

          Defines a string value that describes or annotates the current element. See related aria-describedby.

          The aria-description attribute is similar to aria-label in that both provide a flat string to associate with the element, but a label should be concise, whereas a description is intended to provide more verbose information.

          The purpose of aria-description is the same as that of aria-describedby. It provides the user with additional descriptive text for the object. The most common accessibility API mapping for a description is the accessible description property. User agents MUST give precedence to aria-describedby over aria-description when computing the accessible description property.

          In cases where providing a visible description is not the desired user experience, authors MAY set the accessible description of the element using aria-description. However, if the description text is available in the DOM, authors SHOULD NOT use aria-description, but should use one of the following instead:

          @@ -11496,7 +11511,7 @@

          Definitions of States and Properties (all aria-* attributes)

          aria-details
          -

          Identifies the element (or elements) that provide additional information related to the object. See related aria-describedby.

          +

          Identifies the element (or elements) that provide additional information related to the object. See related aria-describedby.

          The aria-details property is for referencing elements that provide more detailed information than would normally be provided via aria-describedby. The presence of aria-details enables assistive technologies to make users aware of the availability of extended information and navigate to it. Authors SHOULD ensure that elements referenced by aria-details are visible to all users.

          Assistive technologies MAY use the role of elements referenced by the aria-details property to help users understand the types of information associated with the element. Authors MAY convey the type of details associated with an element as follows:

            @@ -11566,7 +11581,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-disabled
            -

            Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable. See related aria-hidden and aria-readonly.

            +

            Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable. See related aria-hidden and aria-readonly.

            For example, irrelevant options in a radio group may be disabled. Disabled elements might not receive focus from the tab order. For some disabled elements, applications might choose not to support navigation to descendants. In addition to setting the aria-disabled attribute, authors SHOULD change the appearance (grayed out, etc.) to indicate that the item has been disabled.

            The state of being disabled applies to the element with aria-disabled and all focusable descendant elements of the element on which the aria-disabled attribute is applied.

            While aria-disabled and proper scripting can successfully disable an element with role link, fully disabling a host language equivalent can be problematic. Authors are advised not to use aria-disabled on elements that cannot be disabled through features of the host language alone.

            @@ -11694,7 +11709,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-errormessage
            -

            Identifies the element that provides an error message for an object. See related aria-invalid and aria-describedby.

            +

            Identifies the element that provides an error message for an object. See related aria-invalid and aria-describedby.

            The aria-errormessage attribute references another element that contains error message text. Authors MUST use aria-invalid in conjunction with aria-errormessage.

            When the value of an object is not valid, aria-invalid is set to true, which indicates that the message contained by an element referenced by aria-errormessage is pertinent.

            When an object is in a valid state, it has either aria-invalid set to false or it does not have the aria-invalid attribute. Authors MAY use aria-errormessage on an object that is currently valid, but only if the element referenced by aria-errormessage is hidden, because the message it contains is not pertinent.

            @@ -11743,7 +11758,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-expanded
            -

            Indicates whether a grouping element owned or controlled by this element is expanded or collapsed.

            +

            Indicates whether a grouping element owned or controlled by this element is expanded or collapsed.

            The aria-expanded attribute is applied to a focusable, interactive element that toggles visibility of content in another element. For example, it is applied to a parent treeitem to indicate whether its child branch of the tree is shown. Similarly, it can be applied to a button that controls visibility of a section of page content.

            If a grouping container that can be expanded or collapsed is not owned by the element that has the aria-expanded attribute, the author SHOULD identify the controlling relationship by referencing the container from the element that has aria-expanded with the aria-controls property.

            @@ -11801,7 +11816,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-flowto
            -

            Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion, allows assistive technology to override the general default of reading in document source order.

            +

            Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion, allows assistive technology to override the general default of reading in document source order.

            When aria-flowto has a single ID reference, it allows assistive technologies to, at the user's request, forego normal document reading order and go to the targeted object. However, when aria-flowto is provided with multiple ID references, assistive technologies SHOULD present the referenced elements as path choices.

            In the case of one or more ID references, user agents or assistive technologies SHOULD give the user the option of navigating to any of the targeted elements. The name of the path can be determined by the name of the target element of the aria-flowto attribute. Accessibility APIs can provide named path relationships.

            @@ -11897,7 +11912,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-haspopup
            -

            Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.

            +

            Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element.

            A popup element usually appears as a block of content that is on top of other content. Authors MUST ensure that the role of the element that serves as the container for the popup content is menu, listbox, tree, grid, or dialog, and that the value of aria-haspopup matches the role of the popup container.

            For the popup element to be keyboard accessible, authors SHOULD ensure that the element that can trigger the popup is focusable, that there is a keyboard mechanism for opening the popup, and that the popup element manages focus of all its descendants as described in Managing Focus.

            The aria-haspopup property is an enumerated type. User agents MUST treat any value of aria-haspopup that is not included in the list of allowed values, including an empty string, as if the value false had been provided. To provide backward compatibility with ARIA 1.0 content, user agents MUST treat an aria-haspopup value of true as equivalent to a value of menu.

            @@ -11982,7 +11997,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-hidden
            -

            Indicates whether the element is exposed to an accessibility API. See related aria-disabled.

            +

            Indicates whether the element is exposed to an accessibility API. See related aria-disabled.

            User agents determine an element's hidden status based on whether it is rendered, and the rendering is usually controlled by CSS. For example, an element whose display property is set to none is not rendered. An element is considered hidden if it, or any of its ancestors are not rendered or have their aria-hidden attribute value set to true.

            Authors MAY, with caution, use aria-hidden to hide visibly rendered content from assistive technologies only if the act of hiding this content is intended to improve the experience for users of assistive technologies by removing redundant or extraneous content. Authors using aria-hidden to hide visible content from screen readers MUST ensure that identical or equivalent meaning and functionality is exposed to assistive technologies.

            Authors are advised to use extreme caution and consider a wide range of disabilities when hiding visibly rendered content from assistive technologies. For example, a sighted, dexterity-impaired individual may use voice-controlled assistive technologies to access a visual interface. If an author hides visible link text "Go to checkout" and exposes similar, yet non-identical link text "Check out now" to the accessibility API, the user may be unable to access the interface they perceive using voice control. Similar problems may also arise for screen reader users. For example, a sighted telephone support technician may attempt to have the blind screen reader user click the "Go to checkout" link, which they may be unable to find using a type-ahead item search ("Go to…").

            @@ -12042,7 +12057,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-invalid
            -

            Indicates the entered value does not conform to the format expected by the application. See related aria-errormessage.

            +

            Indicates the entered value does not conform to the format expected by the application. See related aria-errormessage.

            If the value is computed to be invalid or out-of-range, the application author SHOULD set this attribute to true. User agents SHOULD inform the user of the error. Application authors SHOULD provide suggestions for corrections if they are known.

            When the user attempts to submit data involving a field for which aria-required is true, authors MAY use the aria-invalid attribute to signal there is an error. However, if the user has not attempted to submit the form, authors SHOULD NOT set the aria-invalid attribute on required widgets simply because the user has not yet entered data.

            For future expansion, the aria-invalid attribute is an enumerated type. Any value not recognized in the list of allowed values MUST be treated by user agents as if the value true had been provided. If the attribute is not present, or its value is false, or its value is an empty string, the default value of false applies.

            @@ -12106,7 +12121,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-keyshortcuts
            -

            Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element.

            +

            Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element.

            The value of the aria-keyshortcuts attribute is a space-separated list of keyboard shortcuts that can be pressed to activate a command or textbox widget. The keys defined in the shortcuts represent the physical keys pressed and not the actual characters generated. Each keyboard shortcut consists of one or more tokens delimited by the plus sign ("+") representing zero or more modifier keys and exactly one non-modifier key that must be pressed simultaneously to activate the given shortcut.

            Authors MUST specify modifier keys exactly according to the UI Events KeyboardEvent key Values spec [[!uievents-key]] - for example, "Alt", "Control", "Shift", "Meta", or "AltGraph". Note that Meta corresponds to the Command key, and Alt to the Option key, on Apple computers.

            The valid names for non-modifier keys are any printable character such as "A", "B", "1", "2", "$", "Plus" for a plus sign, "Space" for the spacebar, or the names of any other non-modifier key specified in the UI Events KeyboardEvent key Values spec [[!uievents-key]] - for example, "Enter", "Tab", "ArrowRight", "PageDown", "Escape", or "F1". The use of "Space" for the spacebar is an exception to the UI Events KeyboardEvent key Values spec [[!uievents-key]] as the space or spacebar key is encoded as ' ' and would be treated as a whitespace character.

            @@ -12160,7 +12175,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-label
            -

            Defines a string value that labels the element. See related aria-labelledby.

            +

            Defines a string value that labels the current element. See related aria-labelledby.

            The purpose of aria-label is the same as that of aria-labelledby. It provides the user with a recognizable name of the object. The most common accessibility API mapping for a label is the accessible name property.

            If the label text is available in the DOM (i.e. typically visible text content), authors SHOULD use aria-labelledby and SHOULD NOT use aria-label. There may be instances where the name of an element cannot be determined programmatically from the DOM, and there are cases where referencing DOM content is not the desired user experience. Most host languages provide an attribute that could be used to name the element (e.g., the title attribute in [[HTML]]), yet this could present a browser tooltip. In the cases where DOM content or a tooltip is undesirable, authors MAY set the accessible name of the element using aria-label. As required by the accessible name and description computation, user agents give precedence to aria-labelledby over aria-label when computing the accessible name property.

            @@ -12195,7 +12210,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-labelledby
            -

            Identifies the element (or elements) that labels the element with aria-labelledby. See related aria-label and aria-describedby.

            +

            Identifies the element (or elements) that labels the current element. See related aria-label and aria-describedby.

            The purpose of aria-labelledby is the same as that of aria-label. It provides the user with a recognizable name of the object. The most common accessibility API mapping for a label is the accessible name property.

            If the interface is such that it is not possible to have a visible label on the screen, authors SHOULD use aria-label and SHOULD NOT use aria-labelledby. As required by the accessible name and description computation, user agents give precedence to aria-labelledby over aria-label when computing the accessible name property.

            The aria-labelledby attribute is similar to aria-describedby in that both reference other elements to calculate a text alternative, but a label should be concise, where a description is intended to provide more verbose information.

            @@ -12233,7 +12248,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-level
            -

            Defines the hierarchical level of an element within a structure.

            +

            Defines the hierarchical level of an element within a structure.

            This can be applied inside trees to tree items, to headings inside a document, to nested grids, nested tablists and to other structural items that may appear inside a container or participate in an ownership hierarchy. The value for aria-level is an integer greater than or equal to 1.

            Levels increase with depth. If the DOM ancestry does not accurately represent the level, authors SHOULD explicitly define the aria-level attribute.

            This attribute is applied to elements that act as leaf nodes within the orientation of the set, for example, on elements with role treeitem rather than elements with role group. This means that multiple elements in a set may have the same value for this attribute. Although it would be less repetitive to provide a single value on the container, restricting this to leaf nodes ensures that there is a single way for assistive technologies to use the attribute.

            @@ -12271,7 +12286,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-live
            -

            Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region.

            +

            Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region.

            The values of this attribute are expressed in degrees of importance. When regions are specified as polite, assistive technologies will notify users of updates but generally do not interrupt the current task, and updates take low priority. When regions are specified as assertive, assistive technologies will immediately notify the user, and could potentially clear the speech queue of previous updates.

            Politeness levels are essentially an ordering mechanism for updates and serve as a strong suggestion to user agents or assistive technologies. The value may be overridden by user agents, assistive technologies, or the user. For example, if assistive technologies can determine that a change occurred in response to a key press or a mouse click, the assistive technologies may present that change immediately even if the value of the aria-live attribute states otherwise.

            Since different users have different needs, it is up to the user to tweak his or her assistive technologies' response to a live region with a certain politeness level from the commonly defined baseline. Assistive technologies may choose to implement increasing and decreasing levels of granularity so that the user can exercise control over queues and interruptions.

            @@ -12333,7 +12348,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-modal
            -

            Indicates whether an element is modal when displayed.

            +

            Indicates whether an element is modal when displayed.

            The aria-modal attribute is used to indicate that the presence of a "modal" element precludes usage of other content on the page. For example, when a modal dialog is displayed, it is expected that the user's interaction is limited to the contents of the dialog, until the modal dialog loses focus or is no longer displayed.

            When a modal element is displayed, assistive technologies SHOULD navigate to the element unless focus has explicitly been set elsewhere. Assistive technologies MAY limit navigation to the modal element's contents. If focus moves to an element outside the modal element, assistive technologies SHOULD NOT limit navigation to the modal element.

            When a modal element is displayed, authors MUST ensure the interface can be controlled using only descendants of the modal element. In other words, if a modal dialog has a close button, the button should be a descendant of the dialog. When a modal element is displayed, authors SHOULD mark all other contents as inert (such as "inert subtrees" in HTML) if the ability to do so exists in the host language.

            @@ -12388,7 +12403,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-multiline
            -

            Indicates whether a text box accepts multiple lines of input or only a single line.

            +

            Indicates whether a text box accepts multiple lines of input or only a single line.

            In most user agent implementations, the default behavior of the ENTER or RETURN key is different between the single-line and multi-line text fields in HTML. When user has focus in a single-line <input type="text"> element, the keystroke usually submits the form. When user has focus in a multi-line <textarea> element, the keystroke inserts a line break. The WAI-ARIA textbox role differentiates these types of boxes with the aria-multiline attribute, so authors are advised to be aware of this distinction when designing the field.

            @@ -12442,7 +12457,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-multiselectable
            -

            Indicates that the user may select more than one item from the current selectable descendants.

            +

            Indicates that the user may select more than one item from the current selectable descendants.

            Authors SHOULD ensure that selected descendants have the aria-selected attribute set to true, and selectable descendants that are not selected have the aria-selected attribute set to false. Authors SHOULD NOT use the aria-selected attribute on descendants that are not selectable.

            Lists and trees are examples of roles that might allow users to select more than one item at a time.

            @@ -12496,7 +12511,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-orientation
            -

            Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous.

            +

            Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous.

            In ARIA 1.1, the default value for aria-orientation changed from horizontal to undefined. Implicit defaults are defined on some roles (e.g., slider defaults to horizontal; scrollbar defaults to vertical) but remain undefined on roles where an expected default orientation is ambiguous (e.g., radiogroup).

            @@ -12553,7 +12568,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-owns
            -

            Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship between DOM elements where the DOM hierarchy cannot be used to represent the relationship. See related aria-controls.

            +

            Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship between DOM elements where the DOM hierarchy cannot be used to represent the relationship. See related aria-controls.

            The value of the aria-owns attribute is a space-separated ID reference list that references one or more elements in the document by ID. The reason for adding aria-owns is to expose a parent/child contextual relationship to assistive technologies that is otherwise impossible to infer from the DOM.

            If an element has both aria-owns and DOM children then the order of the child elements with respect to the parent/child relationship is the DOM children first, then the elements referenced in aria-owns. If the author intends that the DOM children are not first, then list the DOM children in aria-owns in the desired order. Authors SHOULD NOT use aria-owns as a replacement for the DOM hierarchy. If the relationship is represented in the DOM, do not use aria-owns.

            Authors MUST ensure that an element's ID is not specified in more than one other element's aria-owns attribute at any time. In other words, an element can have only one explicit owner. Authors MUST NOT create circular references with aria-owns. In the case of authoring error with aria-owns, the user agent MAY ignore some aria-owns element references in order to build a consistent model of the content.

            @@ -12589,7 +12604,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-placeholder
            -

            Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. A hint could be a sample value or a brief description of the expected format.

            +

            Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. A hint could be a sample value or a brief description of the expected format.

            Authors SHOULD NOT use aria-placeholder instead of a label as their purposes are different: The label indicates what kind of information is expected. The placeholder text is a hint about the expected value. See related aria-labelledby and aria-label.

            Authors SHOULD present this hint to the user by displaying the hint text at any time the control's value is the empty string. This includes cases where the control first receives focus, and when users remove a previously-entered value.

            As is the case with the related placeholder attribute in [[HTML]], use of placeholder text as a replacement for a displayed label can reduce the accessibility and usability of the control for a range of users including older users and users with cognitive, mobility, fine motor skill or vision impairments. While the hint given by the control's label is shown at all times, the short hint given in the placeholder attribute is only shown before the user enters a value. Furthermore, placeholder text may be mistaken for a pre-filled value, and as commonly implemented the default color of the placeholder text provides insufficient contrast and the lack of a separate visible label reduces the size of the hit region available for setting focus on the control.

            @@ -12636,7 +12651,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-posinset
            -

            Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. See related aria-setsize.

            +

            Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. See related aria-setsize.

            If all items in a set are present in the document structure, it is not necessary to set this attribute, as the user agent can automatically calculate the set size and position for each item. However, if only a portion of the set is present in the document structure at a given moment, this property is needed to provide an explicit indication of an element's position.

            The following example shows items 5 through 8 in a set of 16.

            <h2 id="label_fruit"> Available Fruit </h2>
            @@ -12680,7 +12695,7 @@ 

            Definitions of States and Properties (all aria-* attributes)

            aria-pressed
            -

            Indicates the current "pressed" state of toggle buttons. See related aria-checked and aria-selected.

            +

            Indicates the current "pressed" state of toggle buttons. See related aria-checked and aria-selected.

            Toggle buttons require a full press-and-release cycle to change their value. Activating it once changes the value to true, and activating it another time changes the value back to false. A value of mixed means that the values of more than one item controlled by the button do not all share the same value. If the attribute is not present, the button is not a toggle button.

            The aria-pressed attribute is similar but not identical to the aria-checked attribute. Operating systems support pressed on buttons and checked on checkboxes.

            @@ -12802,7 +12817,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-relevant
            -

            Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified. See related aria-atomic.

            +

            Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified. See related aria-atomic.

            The attribute is represented as a space-separated list of the following values: additions, removals, text; or a single catch-all value all.

            This is used to describe semantically meaningful changes, as opposed to merely presentational ones. For example, nodes that are removed from the top of a log are merely removed for purposes of creating room for other entries, and the removal of them does not have meaning. However, in the case of a buddy list, removal of a buddy name indicates that they are no longer online, and this is a meaningful event. In that case aria-relevant will be set to all. When the aria-relevant attribute is not provided, the default value, additions text, indicates that text modifications and node additions are relevant, but that node removals are irrelevant.

            aria-relevant values of removals or all are to be used sparingly. Assistive technologies only need to be informed of content removal when its removal represents an important change, such as a buddy leaving a chat room.

            @@ -12873,7 +12888,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-required
            -

            Indicates that user input is required on the element before a form may be submitted.

            +

            Indicates that user input is required on the element before a form may be submitted.

            For example, if the user needs to fill in an address field, the author will need to set the field's aria-required attribute to true.

            The fact that the element is required is often presented visually (such as a sign or symbol after the widget). Using the aria-required attribute allows the author to explicitly convey to assistive technologies that an element is required.

            Unless an exactly equivalent native attribute is available, host languages SHOULD allow authors to use the aria-required attribute on host language form elements that require input or selection by the user.

            @@ -12928,7 +12943,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-roledescription
            -

            Defines a human-readable, author-localized description for the role of an element.

            +

            Defines a human-readable, author-localized description for the role of an element.

            Some assistive technologies, such as screen readers, present the role of an element as part of the user experience. Such assistive technologies typically localize the name of the role, and they may customize it as well. Users of these assistive technologies depend on the presentation of the role name, such as "region," "button," or "slider," for an understanding of the purpose of the element and, if it is a widget, how to interact with it.

            The aria-roledescription property gives authors the ability to override how assistive technologies localize and express the name of a role. Thus inappropriately using aria-roledescription may inhibit users' ability to understand or interact with an element. Authors SHOULD limit use of aria-roledescription to clarifying the purpose of non-interactive container roles like group or region, or to providing a more specific description of a widget.

            When using aria-roledescription, authors SHOULD also ensure that:

            @@ -12984,7 +12999,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-rowcount
            -

            Defines the total number of rows in a table, grid, or treegrid. See related aria-rowindex.

            +

            Defines the total number of rows in a table, grid, or treegrid. See related aria-rowindex.

            If all of the rows are present in the DOM, it is not necessary to set this attribute as the user agent can automatically calculate the total number of rows. However, if only a portion of the rows is present in the DOM at a given moment, this attribute is needed to provide an explicit indication of the number of rows in the full table.

            Authors MUST set the value of aria-rowcount to an integer equal to the number of rows in the full table. If the total number of rows is unknown, authors MUST set the value of aria-rowcount to -1 to indicate that the value should not be calculated by the user agent.

            The following example shows a grid with 2000 rows, of which the first row and rows 100 through 102 are displayed to the user.

            @@ -13051,7 +13066,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-rowindex
            -

            Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid. See related aria-rowindextext, aria-rowcount, and aria-rowspan.

            +

            Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid. See related aria-rowindextext, aria-rowcount, and aria-rowspan.

            If all of the rows are present in the DOM, it is not necessary to set this attribute as the user agent can automatically calculate the index of each row. However, if only a portion of the rows is present in the DOM at a given moment, this attribute is needed to provide an explicit indication of each row's position with respect to the full table.

            Authors MUST set the value for aria-rowindex to an integer greater than or equal to 1, greater than the aria-rowindex value of any previous rows, and less than or equal to the number of rows in the full table. For a cell or gridcell which spans multiple rows, authors MUST set the value of aria-rowindex to the start of the span.

            Authors SHOULD place aria-rowindex on each row. Authors MAY also place aria-rowindex on all of the children or owned elements of each row.

            @@ -13151,7 +13166,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-rowindextext
            -

            Defines a human readable text alternative of aria-rowindex. See related aria-colindextext.

            +

            Defines a human readable text alternative of aria-rowindex. See related aria-colindextext.

            Authors SHOULD only use aria-rowindextext when the provided or calculated value of aria-rowindex is not meaningful or does not reflect the displayed index, as can be seen in the game Battleship.

            Authors SHOULD NOT use aria-rowindextext as a replacement for aria-rowindex because some assistive technologies rely upon the numeric row index for the purpose of keeping track of the user's position or providing alternative table navigation.

            Authors SHOULD place aria-rowindextext on each row. Authors MAY also place aria-rowindextext on all of the children or owned elements of each row.

            @@ -13187,7 +13202,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-rowspan
            -

            Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid. See related aria-rowindex and aria-colspan.

            +

            Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid. See related aria-rowindex and aria-colspan.

            This attribute is intended for cells and gridcells which are not contained in a native table. When defining the row span of cells or gridcells in a native table, authors SHOULD use the host language's attribute instead of aria-rowspan. If aria-rowspan is used on an element for which the host language provides an equivalent attribute, user agents MUST ignore the value of aria-rowspan and instead expose the value of the host language's attribute to assistive technologies.

            Authors MUST set the value of aria-rowspan to an integer greater than or equal to 0 and less than the value which would cause the cell or gridcell to overlap the next cell or gridcell in the same column. Setting the value to 0 indicates that the cell or gridcell is to span all the remaining rows in the row group.

            @@ -13222,7 +13237,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-selected
            -

            Indicates the current "selected" state of various widgets. See related aria-checked and aria-pressed.

            +

            Indicates the current "selected" state of various widgets. See related aria-checked and aria-pressed.

            This attribute is used to indicate which elements within single-selection and multiple-selection composite widgets are selected.

            The option, tab, and treeitem roles permit user agents to provide an implicit value for aria-selected when specified conditions are met. User agents MUST NOT provide an implicit value for aria-selected in any other circumstance.

            @@ -13280,7 +13295,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-setsize
            -

            Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. See related aria-posinset.

            +

            Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. See related aria-posinset.

            This property is marked on the members of a set, not the container element that collects the members of the set. To orient the user by saying an element is "item X out of Y," the assistive technologies would use X equal to the aria-posinset attribute and Y equal to the aria-setsize attribute.

            If all items up to the current item in a set are present in the document structure, it is not necessary to set this attribute, as the user agent can automatically calculate the position for these items. However, if all previous items in the set are not present in the document structure at a given moment, the author MUST set this attributeto provide an explicit indication of an element's position.

            When specifying aria-setsize, authors MUST set the value to an integer equal to the number of items in the set. If the total number of items is unknown, authors SHOULD set the value of aria-setsize to -1.

            @@ -13333,7 +13348,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-sort
            -

            Indicates if items in a table or grid are sorted in ascending or descending order.

            +

            Indicates if items in a table or grid are sorted in ascending or descending order.

            Authors SHOULD only apply this property to table headers or grid headers. If the property is not provided, there is no defined sort order. For each table or grid, authors SHOULD apply aria-sort to only one header at a time.

            @@ -13394,7 +13409,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-valuemax
            -

            Defines the maximum allowed value for a range widget.

            +

            Defines the maximum allowed value for a range widget.

            Authors MUST ensure the value of aria-valuemax is greater than or equal to the value of aria-valuemin. If the aria-valuenow has a known maximum and minimum, the author SHOULD provide properties for aria-valuemax and aria-valuemin.

            A range widget starts with a given value, which can be increased until reaching the maximum value, defined by this property. Declaring the minimum and maximum values allows assistive technology to convey the size of the range to users.

            @@ -13429,7 +13444,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-valuemin
            -

            Defines the minimum allowed value for a range widget.

            +

            Defines the minimum allowed value for a range widget.

            Authors MUST ensure the value of aria-valuemin is less than or equal to the value of aria-valuemax. If the aria-valuenow has a known maximum and minimum, the author SHOULD provide properties for aria-valuemax and aria-valuemin.

            A range widget starts with a given value, which can be decreased until reaching the minimum value, defined by this property. Declaring the minimum and maximum values allows assistive technology to convey the size of the range to users.

            @@ -13464,7 +13479,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-valuenow
            -

            Defines the current value for a range widget. See related aria-valuetext.

            +

            Defines the current value for a range widget. See related aria-valuetext.

            This property is used, for example, on a range widget such as a slider or progress bar.

            If the current value is not known (for example, an indeterminate progress bar), the author SHOULD NOT set the aria-valuenow attribute. If the aria-valuenow attribute is absent, no information is implied about the current value. If the aria-valuenow has a known maximum and minimum, the author SHOULD provide properties for aria-valuemax and aria-valuemin.

            The value of aria-valuenow is a decimal number. If the range is a set of numeric values, then aria-valuenow is one of those values. For example, if the range is [0, 1], a valid aria-valuenow is 0.5. A value outside the range, such as -2.5 or 1.1, is invalid.

            @@ -13503,7 +13518,7 @@

            Definitions of States and Properties (all aria-* attributes)

            aria-valuetext
            -

            Defines the human readable text alternative of aria-valuenow for a range widget.

            +

            Defines the human readable text alternative of aria-valuenow for a range widget.

            This property is used, for example, on a range widget such as a slider or progress bar.

            If the aria-valuetext attribute is set, authors SHOULD also set the aria-valuenow attribute, unless that value is unknown (for example, on an indeterminate progressbar).

            Authors SHOULD only set the aria-valuetext attribute when the rendered value cannot be meaningfully represented as a number. For example, a slider may have rendered values of small, medium, and large. In this case, the values of aria-valuenow could range from 1 through 3, which indicate the position of each value in the value space, but the aria-valuetext would be one of the strings: small, medium, or large. If the aria-valuetext attribute is absent, the assistive technologies will rely solely on the aria-valuenow attribute for the current value.