Implementing Rule L
§ 1194.22 Web-based intranet and internet information and applications.
(l) When pages utilize scripting languages to display content, or to create interface elements, the information provided by the script shall be identified with functional text that can be read by assistive technology.
The key words are: "the information provided by the script". For example, if a script is used to change the appearance of an image when the mouse passes over, then as long as the information of the image is available to the reader, the the page is in compliance.
What Scripts Are Used For
If the script does invisible work, and returns HTML text, the script is probably fine.
Text Effects
If your script is solely used for text effects, and scripting is turned off, the content should be available.
Please be aware that many people find text effects to be irritating.
Event Handlers
Good: onClick, onLoad, onUnload. Caution using these for form elements that include several options.
Quirky: onMouseover, onMouseOut, onBlur, onFocus. Don't really provide information (visual effects), but don't use these for populating the browser status line, unless there is equivalent text somewhere else also.
Bad: onDblClick, onMouseDown, onMouseUp, onChange. Use only for buttons or links adjacent to <select>.
Using scripts to refresh the browser needs to comply with the guidelines to avoid flicker.
Rollovers
Form Field Validation
This type of a script can be run either upon leaving a field, or can be run upon submitting the form.
When a script validates a set of form fields prior to executing the forms processing, most of the action runs in the background. What may be returned by the script is an alert box with a message. Is this readable?
Dynamic Form Field Generation
Forms that use DHTML to hide and display fields may not be accessible. These forms use JavaScript to evaluate an event on a page, and then cause the browser to display more information. This is done by manipulating the visibility properties of elements, and/or their HTML value. Browsers that do not support JavaScript (or any other scripting language), or have it turned off, cannot effectively use this type of implementation. An alternate page (see item K) would need to be created for these uses, with all of the information available directly on the page.
Again, it depends on how the DHTML is implemented. If all of the information is available, with the labels properly associated with the field, even if the visibility attribute is hidden, then it still may be readable to other browsers not using JavaScript.
DHTML Trees
Nested Menus
Implementing Scripts
{Under construction}
Some browsers can disable the use of scripting, and some browsers do not have scripting
capability at all. To ensure that information is available and that the page has the same functionality as it does with
the scripting, you will need to create a <noscript> section. Unfortunately,
this does mean that you are required to essentially maintain two web pages, even though they might be in the same file.
Testing without the mouse - if you can navigate around your page without the mouse?
Skip links to other Section 508 Rules and return to main content
