- From: Gregory J. Rosmaita <oedipus@hicom.net>
- Date: Mon, 18 Aug 2008 23:03:10 +0100
- To: public-xg-app-backplane@w3.org
Introduction: Accessible Rich Internet Applications (ARIA) is a means of expressing Roles, States and Properties for both declarative markup languages, as well as for enabling access to javascripted widgets and embedded objects which have hitherto formed perceptual black holes for users who either can not see or who cannot physically move an input device to manipulate the object; those who cannot understand how the elements of the component fit together; those who cannot ascertain the objective or target of the scripted widget without the aid of assistive technology (AT). Many of the basic concepts underlying ARIA are derived from or are related to concepts pioneered and specified by the XForms WG. This document is an attempt to list all of the ARIA concepts that are either derived from or related to XForms constructs. (Note: All of the excerpted text which follows is taken from the 5 August 2008 Editor's Draft of ARIA 1.0 (http://www.w3.org/WAI/PF/group/aria/) PART ONE: ARIA Roles 1.1. ARIA Role: input * definition: Generic type for widgets for which users can input a value. * Related Concepts: XForms input 1.2. ARIA Role: listbox * definition: A widget that allows the user to select one or more items from a list of choices. Items within the list are static and may contain images. List boxes contain children whose role is option. Instances of this role MUST manage focus of descendants, as described in Managing Focus. Although listbox inherits the expanded state, if there is a use case to use that state, authors should consider using a combobox instead. * Related Concepts: XForms select 1.3. ARIA Role: combobox * definition: Combobox is a presentation of a select, where users can type to select an item. Combobox is the combined presentation of a single line textbox with a drop down select widget. The combobox may be editable. Typically editable combo boxes are used for autocomplete behavior, and the autocomplete property would be used on the child textbox. NOTE: In XForms the same select can have one of 3 appearances: combo-box, drop-down box, or group of radio-buttons. Many browsers (if not all of them) allow users to type in a drop-down select as well. This specification does not constrain the presentation of the combobox. Instances of this role MUST manage focus of descendants, as described in Managing Focus. [] * Related Concepts: XForms select, HTML select 1.4. ARIA Role: option * definition: A selectable item in a list represented by a select. An option MUST appear inside an element with select role. * Base Concept: HTML option * Related Concepts: aria-listitem, XForms: item 1.5. ARIA Role: textbox * definition: Inputs that allow free-form text as their value. If the multiline property is true, the widget accepts line breaks within the input, as in a HTML textarea. Otherwise this is a simple text box. Intended use is in languages that do not have a text input object (such as SVG), or cases in which an element with different semantics is repurposed as an input box. Another use is for a rich text edit textbox, or one that validates input as users type (perhaps marking specific subregions with errors with the invalid state ). Content authors MAY also use this role when additional states or properties are applied to a standard text input widget. This is to indicate to the user agent that it must process additional states and properties such as invalid and required. * Related Concepts: XForms input; HTML textarea 1.6. ARIA Role: button * definition: Allows for user-triggered actions. Buttons are mostly used for discrete, atomic actions. Standardizing the appearance of buttons enhances recognition as buttons and arraying them compactly in toolbars, for example. Buttons support the optional state pressed. Buttons with a non-empty pressed state are toggle buttons. When pressed is "true" the button is depressed, when pressed is "false" it is not depressed. If the state is not present, the button is a simple command button. * Base Concept: HTML button * Related Concepts: HTML link, XForms trigger 1.7. ARIA Role: menu * definition: Offers a list of choices to the user. A menu is often a list of links to important sections of a document or a site. The menu role is appropriate when the list of links is presented in a manner similar to a menu on a desktop application. Instances of this role MUST manage focus of descendants, as described in Managing Focus. * Related Concepts: DTB sidebar; XForms select; JAPI MENU 1.8. ARIA Role: listitem * definition: A single item in a list. * Base Concept: HTML li * Related Concepts: XForms item * Parent Element: list * Supported States and Properties: + level + posinset + setsize 1.9. ARIA Role: alert * definition: A message with important information. Alerts are used to convey messages to alert the user. In the case of audio warnings this is an accessible alternative for a hearing impaired user. The alert role goes on the container of the subtree containing the alert message. Alerts are specialized forms of the status role, which should be processed as an atomic live region. Alerts do not require user input and therefore should not receive focus. Since alerts do not receive focus users SHOULD NOT be required to close an alert. The user agent MAY fire an accessibility alert event, when the alert is created, provided one is specified by the intended accessibility API. If an alert requires focus to close the alert, then an alertdialog SHOULD be used instead. * Related Concepts: XForms alert * Inherited States and Properties: + expanded + Global States 1.10. ARIA Role: alertdialog * definition: A separate window (may be simulated) with an alert, where initial focus goes to the window or a widget within it. Alert dialogs are used to convey messages to alert the user. The alertdialog role goes on the container of the subtree containing the alert message. Unlike alert, alertdialog can receive a response from the user, such as to confirm that the user understands the alert being generated. When the alert dialog is displayed, authors MUST set focus to an active element within the alert dialog, such as a form edit field or an ok pushbutton. The user agent MAY fire an accessibility alert event, when the alert is created, provided one is specified by the intended accessibility API. * Related Concepts: XForms alert * Inherited States and Properties: + expanded + Global States PART 2: ARIA Properties 2.1 ARIA Property: autocomplete * definition: Indicates whether user input completion suggestions are provided. For a textbox with autocomplete="inline" or autocomplete="both", the completion text should be selected and come after the caret. The haspopup property can be used in conjunction with this to indicate that a popup containing choices appears, notwithstanding the fact that it is a simple text box. For an element which already has a drop-down (i.e., a combobox), it is assumed that the dropdown behavior is still present. This means that if autocomplete is true, haspopup should also be true on a combobox. * Related Concepts: XForms selection attribute in select * Used in Roles: textbox * Value: NMTOKEN 2.2 ARIA State: invalid * definition: Indicates that data the user has input fails rules established by the application. If the value is computed to be invalid or out-of-range, this value should be set to true. User agents SHOULD inform the user of the error. Applications should provide suggestions for correction where they are known. User agents may refuse to submit the form as long as there is a widget for which invalid is true. When the user attempts submit data involving a field for which required is true, the application may use the invalid property to signal there is an error. However, the invalid property should not be set on required widgets simply because the user has not yet input data but has not not attempted to submit it. For future expansion, the invalid state is an enumerated type. Any value not recognized in the list of allowed values must be treated as if the value "true" had been provided. The default value, however, is still "false". If the state is not present, its value is "false", or its value is the zero length string (it is present with a blank value), this default applies. The invalid property applies only to the element on which it is applied. The state of being invalid does not propogate either to descendant elements nor to ancestor elements. * Related Concepts: XForms 'invalid' event http://www.w3.org/TR/2006/REC-xforms-20060314/slice4.html#evt-revalidate Note: This state is true if a form field is required but empty. However, XForms's valid property would be set to false. * Used in Roles: All elements of the base markup * Value: NMTOKEN * Values: + true: The value entered by the user has failed automated validation. + false: There are no detected errors in the value. + spelling: A spelling error was detected. + grammar: A grammatical error was detected. 2.3 ARIA Property: readonly Indicates that the widget is not editable. This means the user can read but not set the value of the widget. Readonly objects are relevant to the user and applications must not restrict navigation to focusable descendants. Other actions such as copying the value of the widget are also supported. Todo: we might want to explore this a bit more. Also note that disabled is more likley to change than readonly, hence is a state; explain?This is in contrast to disabled objects for which applications might choose not to allow users to navigate to descendants. Examples include: * A form element which represents a constant. * Row or column headers in a spreadsheet. * The result of a calculation such as a shopping cart total. * Related Concepts: XForms [XForms] Readonly * Used in Roles: + grid + gridcell + textbox * Inherits into Roles: + columnheader + rowheader + treegrid * Value: boolean 2.4. ARIA Property: valuemax * definition: Maximum allowed value for a range type of widget. A range widget may start with a given value, which can be increased until a maximum value, defined by this property, is reached. Declaring the valuemax will allow for alternate device to calibrate an arrow up effect, validate, or simply let the user know the size of the range on offer. If the valuenow has a known maximum and minimum, the author SHOULD provide properties for valuemax and valuemin. * Related Concepts: XForms [XForms] range * Used in Roles: + progressbar + range * Inherits into Roles: + slider + spinbutton * Value: decimal 2.5. ARIA Property: valuemin * definition: Minimum allowed value for a range type of widget. A range widget may start with a given value, which can be decreased until a minimum value, defined by this property, is reached. Declaring the valuemin allows for alternate device to calibrate an arrow up effect, validate, or simply let the user know the size of the range on offer. If the valuenow has a known maximum and minimum, the author SHOULD provide properties for valuemax and valuemin. * Related Concepts: XForms [XForms] range * Used in Roles: + progressbar + range * Inherits into Roles: + slider + spinbutton * Value: decimal 2.6. ARIA Property: valuenow * definition: The current value of a widget. Used, for example, for a range widget such as a slider or progress bar, and for a date. If the value is not known (as often occurs with progress bars) then the valuenow attribute should not be set at all. If the valuenow attribute is absent, no information is implied about the current value. If the valuenow has a known maximum and minimum, the author SHOULD provide properties for valuemax and valuemin. The type of valuenow is a number. If the value type of the widget is not a number, provide an index value for this field (i.e., a numeric value that represents the position of the present value within the set of possible values), plus a proper value with the valuetext property. * Related Concepts: XForms [XForms] range, start * Used in Roles: + progressbar + range * Inherits into Roles: + slider + spinbutton * Value: decimal 2.7. ARIA Property: valuetext * definition: The human readable text equivalent of valuenow for a widget. Used, for example, for a range widget such as a slider or progress bar. In order for the valuetext property to be set, the valuenow property MUST also be set (as often occurs with progress bars). The valuetext should be set by authors only when the rendered slider value cannot be completely be represented in the form of a number. For example, a slider may has rendered values of {"small", "medium", "large", "extra large"}. In this instance the values of valuenow range from 0 through 3, which indicate the position of each value in the value space, but the valuetext would be one of the strings: "small", "medium", "large", and "extra large". If the valuetext property is absent, the assistive technology will rely solely on the valuenow property for the current value. * Related Concepts: XForms [XForms] range, start * Used in Roles: + progressbar + range * Inherits into Roles: + slider + spinbutton * Value: string 2.8. ARIA Property: describedby * definition: Points to an element which describes the object. This is very similar to labeling an object with labelledby. A label should provide the user with the essence of the what the object does, whereas a description is intended to provide additional information that some users might need. * Related Concepts: + Hint or Help in XForms [XForms] + Label in XForms + Label in HTML [HTML] + online help + HTML table cell headers HTML label element, and HTML table cell headers are de facto describedby values. * Used in Roles: All elements of the base markup * Value: IDREFS 2.9. ARIA Property: labelledby * definition: Points to the element which labels the current element. This is very similar to describing an object with describedby. A label should provide the user with the essence of the what the object does, whereas a description is intended to provide additional information that some users might need. Note: the expected spelling of this property in U.S. English would be "labeledby". However, the accessibility API features to which this property is mapped have established the "labelledby" spelling. This property is spelled that way to match the convention and minimize the difficulty for developers. * Related Concepts: A related concept is label in XForms and HTML * Used in Roles: All elements of the base markup * Value: IDREFS ------------------------------------------------------- lex parsimoniae: * entia non sunt multiplicanda praeter necessitatem. ------------------------------------------------------- the law of succinctness: * entities should not be multiplied beyond necessity. ------------------------------------------------------- Gregory J. Rosmaita, oedipus@hicom.net Camera Obscura: http://www.hicom.net/~oedipus/ -------------------------------------------------------
Received on Monday, 18 August 2008 22:03:46 UTC