Hello. Please sign in!

This document is the preamble to the NPRM. Click here to view the NPRM. See also: Final Rule published to the Federal Register 1/18/17 that jointly updates requirements for ICT covered by Section 508 of the Rehabilitation Act and Section 255 of the Communication Act.

502.3 Accessibility Services (Section-by-Section Analysis)

This section proposes that platforms (such as operating systems) and software tools provided by the platform developer furnish a documented set of accessibility services—usually referred to as Application Programming Interfaces (APIs)—in order to enable applications running on the platform to interoperate with assistive technology. Additionally, applications that are themselves platforms would be required to expose underlying platform accessibility services or implement other document accessibility services.

This proposal does not have an analog in the existing 508 Standards because, at the time the standards were issued in 2000, mainstream operating systems had a well-established track record of providing APIs. Since then, some platforms, particularly those used by first generation mobile devices, stopped providing these requisite components of baseline accessibility. This proposed provision would not represent a significant change from widespread industry practice, since all major platforms have well-developed APIs that incorporate accessibility. Consequently, it is important to expressly require APIs. A documented set of accessibility services is important to end-users because, without them, developers are likely to provide inconsistent access to assistive technology, thereby leaving end-users with disabilities without access to needed features. Well-documented accessibility services are especially important for developers new to accessibility, and can serve to alert all developers to the importance of the accessibility features of platforms.

502.3.1 Object Information (Section-by-Section Analysis)

This section proposes that particular programming elements—namely object role, state, boundary, name, and description—must be programmatically determinable. Moreover, user-adjustable states would be required to be set programmatically, including through assistive technology. This proposal, along with proposed 502.3.3, corresponds to WCAG 2.0 Success Criteria 4.1.2 Name, Role, and Value. It is also consistent with existing 508 Standards § 1194.21(d), but more explicitly provides for the user to be able to change data values, not just read them. Making the specified states programmatically determinable is already a widespread industry practice and is a standard feature provided in software designed to be accessible. Nonetheless, it is important to address this issue in the proposed rule because, on occasion, users of assistive technology find that they can read data in fields, but cannot make changes.

502.3.2 Row, Column, and Headers (Section-by-Section Analysis)

This section proposes that, where a programming object is in a table, occupied rows and columns (i.e., those populated with data), as well as any headers associated with such rows or columns, must be programmatically determinable. This provision corresponds to §§ 1194.22(g) and 1194.22(h) of the existing 508 Standards. A similar requirement is set forth in WCAG 2.0 Success Criteria 1.3.1 Info and Relationships. See W3C, Understanding SC 1.3.1, Understanding WCAG 2.0 (Sept. 16, 2014), http://www.w3.org/TR/UNDERSTANDING-WCAG20/content-structure-separation-programmatic.html.

502.3.3 Values (Section-by-Section Analysis)

This section proposes that current values, as well as any set or range of allowable values associated with a programming object, must be programmatically determinable. This proposal would also require values that can be set by the user to be capable of being set programmatically, including through assistive technology. This proposal, along with proposed 502.3.1, corresponds to WCAG 2.0 Success Criteria 4.1.2 Name, Role, and Value. An express requirement for values to be set programmatically would be new to the 508 Standards. However, existing industry practice in response to existing standards (i.e., 508 Standards § 1194.21(d)) is to permit values to be set programmatically.

502.3.4 Label Relationships (Section-by-Section Analysis)

This section proposes that relationships between components must be programmatically exposed to assistive technology where a component labels, or is labeled by, another component. This provision corresponds to §§ 1194.21(l) and 1194.22(n) in the existing 508 Standards, though it is broader in scope since, unlike these current requirements, its coverage extends beyond forms. A similar requirement is set forth in WCAG 2.0 Success Criteria 1.3.1 Info and Relationships. See W3C, Understanding SC 1.3.1, Understanding WCAG 2.0 (Sept. 16, 2014), http://www.w3.org/TR/UNDERSTANDING-WCAG20/content-structure-separation-programmatic.html.

502.3.5 Hierarchical Relationships (Section-by-Section Analysis)

This section proposes that any hierarchical (parent-child) relationship between components be programmatically exposed to assistive technology. This is important for individuals who use assistive technology so they can understand the relationships or interdependencies between menu options, database entries, or other software elements that have parent-child relationships. For example, word processing and email software commonly use one or more sub-menus that cascade from a “main” menu item, which permit the user to perform desired actions such as saving a file in a specific format or altering font styles. Requiring components to expose (i.e., provide) hierarchical relationships to assistive technology ensures that an individual using a screen reader, for example, could understand these relationships and, thereby, perform the desired function or action. This provision corresponds to existing 508 Standards §§ 1194.21(l) and 1194.22(n). In addition, in response to existing 508 Standards § 1194.21(d), current industry practice is to ensure that any parent-child relationship that components have to other components is programmatically exposed to assistive technology. This requirement closely parallels Success Criterion 1.3.1 in WCAG 2.0, but has greater specificity because software is more structured than Web content.

502.3.6 Text (Section-by-Section Analysis)

This section proposes that the content of text objects, text attributes, and on-screen text boundaries be programmatically determinable. Additionally, text that can be set by the user would have to be capable of being set programmatically, including through assistive technology. This provision would be useful for a screen-reader user, for example, when filling in a field on a form. It would be quite frustrating to be able to navigate to a form field, and perhaps even read placeholder text in that field, but then not be able to enter text as needed. This provision corresponds to § 1194.21(f) in the existing 508 Standards.

502.3.7 Actions (Section-by-Section Analysis)

This section proposes that a list of all actions that can be executed on an object must be programmatically determinable. An example of an “object” is a drop-down menu of states and U.S. territories in an online form. Applications would also be required to allow assistive technology to programmatically execute available actions on objects. While this requirement is new to the 508 Standards, it represents widespread industry practice. It is also already a feature provided by software designed to be accessible. This proposed requirement is important because, on occasion, developers new to accessibility overlook this need.

502.3.8 Focus Cursor (Section-by-Section Analysis)

This section proposes that software be required to expose information and mechanisms necessary to programmatically track and modify keyboard focus, text insertion point, and selection attributes of user interface components. An example of “focus cursor” is a database, which, as the user hits the tab key, displays a visible box outlining the various fields. This provision corresponds to § 1194.21(c) in the existing 508 Standards.

502.3.9 Event Notification (Section-by-Section Analysis)

This section proposes that programmatic notification of events relevant to user interactions— including changes in a component’s state, value, name, description, or boundary—must be available to assistive technologies. This proposal complements existing 508 Standards § 1194.21(d), but more explicitly requires that changes to on-screen user interfaces be done in a way that such changes, otherwise known as events, are exposed to assistive technology. Such event notification is already a widespread industry practice, and, moreover, a feature provided by software designed to be accessible. This proposed requirement is important to address this issue in these proposed requirements because, on occasion, developers new to accessibility overlook this need.

[MORE INFO...]

*You must sign in to view [MORE INFO...]