180 likes | 315 Views
Section 508 and NASA Session 4: Software Applications and Operating Systems. Presentation to Ames Research Center November 2011 Antonio HaileSelassie. What Is Section 508?.
E N D
Section 508 and NASASession 4: Software Applications and Operating Systems Presentation to Ames Research Center November 2011 Antonio HaileSelassie
What Is Section 508? • In 1998, Congress amended the Rehabilitation Act of 1973 to include Section 508, which provides people with disabilities opportunities to gain meaningful employment with the Federal government and to reflect the focus on technology. • NASA Section 508 Policy NPR 2800.2
Software Standards • Software Applications and Operating Systems (1194.21) • Windows, Linux, Apple Operating Systems • Software Applications such as: Browsers, Email Clients, Editing and Development Software • Smartphone/Tablet Operating Systems • Smartphone “Apps”
Executing from Keyboard • (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. • All executable functions and actions, such as forms elements and buttons, that can be identified or labeled with text are required to be executable from a keyboard. • If designed to run on a system without a keyboard, such as a Smartphone, tablet or other touch screen device, this standard does not apply.
FAQ: Executing from Keyboard • Does this provision prohibit the use of "mouse-only" functions in any software? • All actions that can be identified or labeled with text are required to be executable from a keyboard. • For example, most of the menu functions even in common drawing programs that allow a user to open, save, size, rotate, and perform other actions on a graphic image can all be performed from the keyboard. • However, providing keyboard alternatives for creating an image by selecting a "drawing tool", picking a color, and actually drawing a design would be extremely difficult. • Therefore, when a programmer is determining which functions need keyboard access, the best rule of thumb is to add keyboard shortcuts to any feature where the function can be identified with a text label.
FAQ: Executing from Keyboard • Many applications utilize toolbars with buttons. Do these buttons all need keyboard access? • Not necessarily. • Most toolbars give a visual shortcut to functions that also exist in the menu structure of a program. • If the feature activated by a control on a toolbar is a duplicate of a menu function that already has a keyboard shortcut then the toolbar control does not need its own keyboard access. • However, if the control on the toolbar is unique and cannot be accessed in any other way, the control will be required to have a keyboard shortcut or be accessible elsewhere in the application via the keyboard.
Accessibility Features • (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. • Application does not prevent access to accessibility features provided through the operating system such as color scheme adjustments, visual prompts, “Sticky Keys”, Magnifying or Screen Reading tools like “Narrator” or “VoiceOver”.
Input Focus • (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. • The position on a screen where an action will take place is referred to as the "focus". • Must provide a visual indication of the current focus. • The position of the programs' current focus must be made programmatically available to assistive technology.
Interface Elements • (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. • Examples of user interface elements include button checkboxes, menus, toolbars, scroll bars, and any other feature of a program that is intended to allow the user to perform some action. • Text must be associated with each element • The text must identify the element and its current state or condition.
Textual Information • (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. • The application programming interface, (API) refers to a standard way for programs to communicate with each other, including the operating system, and with input and output devices. • Text provided by an application should be designed to work through the operating system’s function for displaying text.
Color/Contrast Settings • (g) Applications shall not override user selected contrast and color selections and other individual display attributes. • Do not prevent users from adjusting color or contrast settings. • (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. • This provision requires that IF providing the ability to adjust colors or contrast, independent of the operating system’s functions for adjusting color and contrast, the application must provide a variety of color choices that also allow for different levels of contrast.
FAQ: Color/Contrast Settings • Does this provision mean that programs may not use any custom settings? • Often, persons with disabilities can increase their efficiency with a system by selecting colors, contrast, keyboard repeat rate, and keyboard sensitivity settings provided by an operating system. • This provision (g) allows programs to have unlimited options for customizing the display of the programs' content. • However, there must be a section in the software that tells the program not to use its own setting, but to use whatever settings are already in place before the program starts. • A simple menu selection, for example under a view, or options menu, might be a checkbox that lets the user check "use system display setting."
Colors, Flashing, and Animation • (h) When animation is displayed, the information shall be displayable in at least one non-animated presentation mode at the option of the user. • information expressed in an animation, at the choice of the user, needs to be made available in a non-animated, accessible format. • (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. • If using color is used to convey information, the provision requires that some other method of identification, such as text labels, be combined with the use of color. • (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. • Flashes cannot be within two flashes per second (2hz) and fifty-five per second (55 Hz).
FAQ: Animation • How do you provide an alternative for animation if it is needed or required? • How provision (h) is implemented is left to the programmer’s creativity. • One implementation of (h) would be to have an application provide an option to skip animation, while providing an accessible version of any information conveyed by that skipped animation. • Another implementation of (h) would be to give the user the option to display the animation while conveying the information in an accessible, non-animated format.
Forms and Form Elements • (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. • Forms must be navigable using the keyboard. • All elements of the form are labeled with text located in close proximity to the field that is to be completed • Labels must be in a logical position relative to the input areas.
Resources • www.section508.nasa.gov • General and NASA-specific information and resources • NASA virtual Section 508 help desk • section508help@nasa.gov • Available to NASA employees and contractors • www.section508.gov • GSA site: general information, training, lots of relevant links (law, standards, etc.) • www.access-board.gov/508.htm • Access Board developed standards. • http://www.access-board.gov/sec508/software-tutorial.htm#_Toc529165335 • Access Board Software Tutorial • http://nodis3.gsfc.nasa.gov/displayDir.cfm?Internal_ID=N_PR_2800_0002_&page_name=Chapter1 • NASA Section 508 Policy