Dynamic content should be accessible |
WAI / WCAG 1.0 Priority 2 checkpoint 6.5
Issue Description The page uses scripts that may change the content or the navigation options of the document. All of these scripts should change the page in such a way that assistive technologies can recognize these changes and appropriately notify can be given to the website visitor.
How to check Check if the scripts used by this page do create new content or navigation options. An easy way for testing this is to disable script execution on the browser and use the page. If some scripts add new content or navigation options, then it is best to find an alternative way to achieve the desired effects.

For example, would a server-side script (and a form) achieve the same effect? Is it possible to make the page show its entire content if the browser does not support scripts (for example by defining several layers)?

If all the content is defined within layers, and the script is used to make a layer appear only when certain conditions occur, then browsers that do not support scripts will render all the layers in the order in which they are defined in the HTML file. In this case, it is best to ensure that this way of presenting the content is effective enough (for example by providing appropriate context for each of the layers).

Issue Explanation It is best to avoid using scripts to create new content or navigation options. Visitors with browsers that do not support the scripts will not get that content or those options. The W3C says (HTML Techniques for Web Content Accessibility Guidelines 1.0 [http://www.w3.org/TR/WCAG10-HTML-TECHS/#scripts-gt] ):

> Content developers must ensure that pages are accessible with scripts turned off or in browsers that don't support scripts.
> - Avoid creating content on the fly on the client. If a user's browser does not handle scripts, no content will be generated or displayed. However, this is different than displaying or hiding already existing content by using a combination of style sheets and scripting; if there is no script, then the content is always shown. This also does not rule out generating pages on the fly on the server-side and delivering them to the client.
> - Avoid creating links that use "JavaScript" as the URI. If a user is not using scripts, then they won't be able to link since the browser can't create the link content.