Ensuring that the content is generated via user command or interaction (such as pressing a button), rather than automatically or randomly, can ensure that the content does not change when it is focused or being read. If dynamic changes are required, care must be taken to ensure that the changes do not interfere. An ARIA live region or alert might be utilized (with great care) to have dynamic content read, even if focus is not placed on it.
focus()) after it appears to ensure it is navigated or read immediately. Additional techniques may be necessary to ensure accessibility for such dynamic elements - a modal dialog, for example, may need to be programmed to maintain keyboard focus (rather than allowing focus into other parts of the page that are not visually available).
Widgets and Complex Interactions
There are many difficulties in both usability and accessibility that may arise with non-standard widgets and interactions. Care must be taken in making the decision to use them. If they are used, thorough user testing of your implementation is vital.
Redirecting and Refreshing Browser Windows
When the page the browser is presenting suddenly changes or refreshes with scripting or
<meta> tags, the person viewing that page may become disoriented or confused, especially if that person is using an assistive technology. Accessibility guidelines require that users be given control over time sensitive content changes. Do not automatically change or refresh the browser window without first alerting the user that the change will occur and giving him/her the ability to disable or postpone the change, or even better, give the user full control over the page change or redirect.
CSS is intended for visual styling. As such, screen readers largely ignore CSS. It should not generally be used to present content or functionality, at least not without testing in a variety of browsers and screen readers to ensure the content or functionality is fully accessible.