Section 508 for Software Development Overview

Module Introduction

The goal of this module is to provide you with a brief introduction to Section 508, describe how it applies to the development of software, and provide general guidance on the role that you play while developing an application which conforms to the provisions of 508. In this module you can also review the software provisions themselves. By the end of this module, you will be able to:

You can work through the topics sequentially by using the Next button, or you can use the Topic Menu to jump to a topic. You can also select the Home button and follow the Section 508 for Software Development Training link to begin the training course. This module should take approximately 10 minutes to complete.

Section 508 Basics

What is Section 508?

Section 508 is the outgrowth of a portion of the Rehabilitation Act of 1973, which was amended in 1998. Specifically, it created a set of specific functional and technical requirements which are applicable to electronic and information technology, such as software applications and operating systems, websites, telecommunications equipment, desktop and portable computers, video and multimedia, and self contained and stand-alone products, as well as information, documentation and support products.

Why is Section 508 important to you as a software developer?

Section 508 and Software Development

Developer’s Responsibility

The impact of Section 508 on you the software developer is primarily one of understanding software accessibility, and integrating the applicable provisions of Section 508 into your entire software development life cycle.

The technical provisions of Section 508 are a subset of the more general concept of software accessibility. Software accessibility is a more wide-ranging term and can mean different things to different people. The provisions of Section 508 provide a framework to use as real requirements to be applied across multiple projects.

As a developer, you have two methods to ensure your software conforms to Section 508. First, you can make the software compatible with assistive technology. Second, you can make the software product completely accessible without the aid of other assistive technology. You should make sure that whichever method you choose, your product does not interfere with adaptive equipment. For example, do not make your software product use a certain size font, which will not allow a piece of adaptive equipment such as a screen magnifier to efficiently increase the font size.

During development, if alternate implementation methods that provide equal accessibility to the technical and functional provisions of Section 508 are discovered, they are fully supported in the law. Section 508 focuses on the technical aspects of the software development lifecycle. The business requirements that are part of the software application do not need to be modified to conform to Section 508.

In this training course, you'll see specific coding examples for a few of the most commonly used software languages. For now, let's get a general view of how to make software accessible.

Increasing Software Accessibility

Accessibility is accomplished by designing software that accommodates the widest range of users. Accessibility can be compared to “curb cuts”. Curb cuts benefit people with strollers and baskets just as much as they benefit people with disabilities. The same applies to accessible software. An accessible software application is also a more usable application for all.

Note that Section 508 conformance and accessibility are not one in the same. The software application may conform to the applicable provisions of Subpart B of the 508 Standard, yet not be accessible. Subpart C, however, defines functional performance criteria that requires at least one mode of operation that does not require certain user functionality such as vision, hearing or fine motor control. The spirit of the law is to make information technology accessible to the widest audience. Whenever possible, you should go beyond Section 508 to provide a truly accessible application. Which means, developing a software application that is completely accessible instead of just conforming to the 12 software provisions.

Section 508 Software Provisions

Introduction to Software Provisions

In this section, you will learn about the 12 provisions of Section 508 as they apply to software applications and operating systems. The course module will cover further explanation of the provisions, specific examples of code that conforms to Section 508, and assessment and remediation procedures for each provision.

Section 508 Software Provisions

(a) When software is designed to run on a system that has a keyboard, product functions shall be executable from a keyboard where the function itself or the result of performing a function can be discerned textually.

(b) Applications shall not disrupt or disable activated features of other products that are identified as accessibility features, where those features are developed and documented according to industry standards. Applications also shall not disrupt or disable activated features of any operating system that are identified as accessibility features where the application programming interface for those accessibility features has been documented by the manufacturer of the operating system and is available to the product developer.

(c) A well-defined on-screen indication of the current focus shall be provided that moves among interactive interface elements as the input focus changes. The focus shall be programmatically exposed so that assistive technology can track focus and focus changes.

(d) Sufficient information about a user interface element including the identity, operation and state of the element shall be available to assistive technology. When an image represents a program element, the information conveyed by the image must also be available in text.

(e) When bitmap images are used to identify controls, status indicators, or other programmatic elements, the meaning assigned to those images shall be consistent throughout an application's performance.

(f) Textual information shall be provided through operating system functions for displaying text. The minimum information that shall be made available is text content, text input caret location, and text attributes.

(g) Applications shall not override user selected contrast and color selections and other individual display attributes.

(h) When animation is displayed, the information shall be displayable in at least one non-animated presentation mode at the option of the user.

(i) Color coding shall not be used as the only means of conveying information, indicating an action, prompting a response, or distinguishing a visual element.

(j) When a product permits a user to adjust color and contrast settings, a variety of color selections capable of producing a range of contrast levels shall be provided.

(k) Software shall not use flashing or blinking text, objects, or other elements having a flash or blink frequency greater than 2 Hz and lower than 55 Hz.

(l) When electronic forms are used, the form shall allow people using assistive technology to access the information, field elements, and functionality required for completion and submission of the form, including all directions and cues.

Module Conclusion

Congratulations! You have completed the Section 508 for Software Development Overview module. The goal of this module was to provide you with an introduction to Section 508, accessibility, and the impact of Section 508 on software development. It is possible that you will have additional questions about the topics introduced in this module. You can obtain additional information by visiting the various Section 508 information web sites in the Resources section of this course.