This technique relates to Success Criterion 3.2.5: Change on Request (Failure).
This document describes a failure that occurs when the content in the main viewport viewport is automatically updated, and there is no option for a user to disable this behavior.
Two procedures are presented below to test for the existence of a failure against Success Criterion 3.2.5. Procedure 1 is the preferred procedure and assumes that content authors have access to the code that generates the viewport content.
However there may be instances where this may not be possible (eg: in certain content management systems, application environments such as django or ruby-on-rails, or content generated through scripting languages such as AJAX or PHP that are generated by third parties.) To that end, the second procedure is supplied to allow testing in these instances. Note that timeframes are indicative only, and that any change after any amount of time should be treated as a failure if the test otherwise does not pass the other step evaluations.
A news site automatically refreshes itself to ensure that it has the newest headlines. There is no option to disable this behavior.
A slideshow fills the entire viewport and advances to the next slide automatically. There is no stop button.
A search engine automatically generates results and dynamically updates content based on user input. There is no option to disable this behavior.
- Open the source code in an appropriate editing tool.
- Examine the source code thoroughly.
- Confirm that content is dynamically generated or the code will trigger a change of context for the viewport on an event or after a time period.
- Confirm that there does not exist an appropriate mechanism for users to disable this behavior.
- If both checks 3 and 4 are true, then this failure condition applies and the content fails this Success Criterion
- Measure or estimate the amount of time that the average user spends on the page.
- Go to the page
- Wait for 10 times the length of time the average user stays on the page. (From Step 1)
- Check to see if there is a change in context during this time.
- If there is no change of context STOP.
- If there is a change in context, then check to see if there is any mechanism on the page that would have prevented that change of context.
- If there IS a mechanism for preventing that change of context, use that mechanism to prevent that change of context and run the test over.
- If there is a change of context and there are no mechanism to prevent that change in context then you have a failure.
One way to measure or estimate the amount of time in step 1 would be to check a web site's analytics to see how long the average user looks at the page.
An example of step 6 would be a mechanism for turning off auto updates.
- If you reach step 8 then the content fails this success criterion.