Accessibility for Web Developers

Guideline 7

Guideline 7: Ensure user control of time-sensitive content changes

You should ensure that moving, blinking, scrolling, and auto-updating objects or pages may be paused or stopped by the visitor. Moving content can be distracting, to the point where the rest of the page is unreadable to visitors with cognitive disabilities. If the visitor can't control the rate of movement, there's a chance that they may not be able to read the content in time, or interact with moving objects. Some assistive technologies, such as screen readers, are unable to cope with moving objects.

This guideline has 5 checkpoints, ranging in importance from Level "A" (essential for the site to be accessible), to Level "AA" (should be addressed for the site to be considered accessible).

Important - Priority 1 Checkpoint 7.1 Until user agents allow users to control flickering, avoid causing the screen to flicker

This checkpoint is a priority 1 checkpoint. It must be satisfied for your site to be considered accessible. Screen flickering or intermittent light stimulation with a frequency of 4 to 59 flashes per second (Hertz), with peak sensitivity at 20 Hertz, can trigger seizures in visitors with photosensitive epilepsy. Rapid changes from dark to light, such as strobe lights, can also trigger seizures.

Effects such as Internet Explorer's Page Transitions should be avoided. A page transition is an effect such as a screen wipe that can be applied to documents when the page is entered or exited.

<meta http-equiv="Page-Enter" content="revealTrans(duration=2, Transition=6)" />

If the transition is too slow, it becomes annoying for visitors navigating from page to page, and if too fast can cause the screen to flicker. The effects don't have a functional purpose, so should be avoided.

7.2 Until user agents allow users to control blinking, avoid causing content to blink

This checkpoint is a priority 2 checkpoint. It should be satisfied for your site to be considered accessible. Some assistive technologies, such as screen readers, are unable to cope with blinking text. Some readers get stuck on the text, and read it repeatedly, and could cause the system to crash. Blinking text can also distract users from other parts of the page.

You don't have to catch the attention of visitors to your page, as you already have it. They wouldn't have visited unless they wanted to be there. The exception to this is pop-ups and pop-behinds, where a new page is spawned with the purpose of attracting the visitor's attention to some promotion.

Do not use the blink element, as it isn't, or has ever been, part of the HMTL specification. The blink element was introduced with Netscape during the browser wars, and its effect is extremely annoying. If you need to draw the visitor's attention, use valid markup constructs such as the emphasis element, and provide a style through style sheets if necessary.

<em>Important content</em>

If you provide blinking content through scripts, ensure that you provide an accessible facility whereby the visitor can either control the blink rate, or turn it off completely.

7.3 Until user agents allow users to freeze moving content, avoid movement in pages

This checkpoint is a priority 2 checkpoint. It should be satisfied for your site to be considered accessible. Some assistive technologies, such as screen readers, are unable to cope with scrolling text. Visitors with poor eyesight or cognitive disabilities may be unable to read the content at the pace it scrolls. The motion can be distracting, and may prevent important information on the rest of the page from being read.

Animated gifs should be used with caution, and avoided if possible. Gratuitous use of animation can be distracting to some visitors, making it difficult to focus on the content. Screen flickering or intermittent light stimulation in animated gifs can cause problems for visitors with photosensitive epilepsy (see Guideline 7.1).

Do not use the marquee element, as it isn't, or has ever been, part of the HMTL specification. The marquee element was introduced with Internet Explorer during the browser wars. As with the blinking content, if you need to draw the visitor's attention, use valid markup constructs such as the emphasis element.

If you provide moving content through scripts, ensure that you provide an accessible facility whereby the visitor can either control the rate of movement, or pause it completely.

7.4 Until user agents provide the ability to stop the refresh, do not create periodically auto-refreshing pages

This checkpoint is a priority 2 checkpoint. It should be satisfied for your site to be considered accessible. Pages that deliver real-time content sometimes use auto-refresh as a means of updating the information on a page at particular intervals. For example, a site may contain a table of data that is refreshed every minute. If the time interval is too short, visitors with poor eyesight may not have enough time to read the content, or screen readers may be partway through the content when it refreshes.

If you do auto-refresh pages, you should provide a statement at the top of the page stating that the page contains changing information and will automatically reload itself after a certain amount of time. If possible, you should provide an accessible means of controlling the refresh rate. You should also provide a link to an equivalent alternative page for visitors that don't want the page to refresh at all, or are using user agents that do not support auto-refresh.

<%@ language="vbscript" %>
<% Option Explicit %>
<% Response.Buffer=True %>
<!-- #include file="adovbs.inc" -->
<%
    Dim adoDB, adoRS, strSQL
    Dim strDBVirtualPath, strDBLocation, strConnection
    Dim strTitle, strArticle, iNewsItem, iRefreshRate, strRefresh
    ' Set up the connections
    strDBVirtualPath = "db/news.mdb"
    strDBLocation = Server.Mappath(strDBVirtualPath)
    strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBLocation
    Set adoDB = Server.CreateObject("ADODB.Connection")
    Set adoRS = Server.CreateObject("ADODB.RecordSet")
    adoDB.Open strConnection
    ' Get the page number
    iNewsItem = Request.QueryString("page")
    If iNewsItem = "" Then
        iNewsItem = 1
    End If
    ' Get the refresh rate
    iRefreshRate = Request.QueryString("rate")
    If iRefreshRate = "" Then
        iRefreshRate = 20
    End If
    ' Create refresh string
    strRefresh = iRefreshRate & ";url=news.asp?page=" & _
                iNewsItem + 1 & "&rate=" & iRefreshRate
    ' Grab the news item
    strSQL = "SELECT title, article FROM tblNews WHERE newsID=" & iNewsItem
    adoRS.Open strSQL, adoDB, adOpenDynamic, adLockReadOnly, adCmdText
    strTitle = adoRS.Fields("title").Value
    strArticle = adoRS.Fields("article").Value
    ' Tidy up
    adoRS.Close
    Set adoRS = Nothing
    adoDB.Close
    Set adoDB = Nothing
%>
<!DOCTYPE html
    PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-gb">
<head>
    <title><%= strTitle %></title>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<% If iNewsItem < 10 Then %>
    <meta http-equiv="Refresh" content="<%= strRefresh %>" />
<% End If >
</head>
<body>
<h1>News Items - Page <%= iNewsItem %></h1>
<p>
If your browser supports auto-refresh, this page will be updated automatically in
<%= iRefreshRate %> seconds. To view a non-refreshing version of these stories, visit the
<a href="altnews.html">Non-Refreshing Version</a>.
</p>
<p>
<a href="refreshrate.asp?rate=<%= iRefreshRate %>">Change Refresh Rate</a>.
</p>
<h2><%= strTitle %></h2>
<p>
<%= strArticle %>
</p>
</body>
</html>

This technique should be avoided, as it's non-standard and visitors should be able to control their own rate of reading.

7.5 Until user agents provide the ability to stop auto-redirect, do not use markup to redirect pages automatically

This checkpoint is a priority 2 checkpoint. It should be satisfied for your site to be considered accessible. Redirecting with markup disorientates the visitor, and can disrupt a browser's history of visited pages, making it difficult or impossible to navigate back from the page.

Visitors accessing a page with assistive technology, such as screen reader, or visitors who read slowly may need more time to read the page than you have anticipated. If the page automatically redirects unexpectedly, it will prevent access to content.

Further Reading

You might also like...

Comments

About the author

Gez Lemon United Kingdom

I'm available for contract work. Please visit Juicify for details.

Interested in writing for us? Find out more.

Contribute

Why not write for us? Or you could submit an event or a user group in your area. Alternatively just tell us what you think!

Our tools

We've got automatic conversion tools to convert C# to VB.NET, VB.NET to C#. Also you can compress javascript and compress css and generate sql connection strings.

“Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why.”