WCAG Techniques for dynamic content

From WCAG WG

Most web developers these days use some kind of javascript framework or library to deal with browser difference and make their developement time more effective. Probably the most used javascript library these days is jQuery. Libraries such as jQuery use both DOM and innerHTML methods to manipulate the content of a web page.

SCR21

Older versions of screen readers used to have problems with dynamic content. Particularly content that was manipulated using innerHTML, as screen readers were unable to detect changes in the page that were done through innerHTML. This problem is largely resolved by screen reader developers who've found workarounds for this problem.

To give an indication of this problem, technique SCR21 was initially developed. It instructs web developers to use DOM instead of innerHTML (and methods that caused the same problem). But it does not prohibit the use of innerHTML. This technique is somewhat of an oddball. It was initially assigned to SC's 1.3.1 and 4.1.2, and later it was set only on SC 1.3.1. The way the technique works however can be applied to any dynamic content, not just content that is covered by SC 1.3.1.

Proposal

WCAG 2.0 techniques should be more in line with current developement processes. It would also be an improvement if technique SCR21 could be more consistent with how other techniques work. Therefore the following solution is proposed:

Rewrite SCR21 to do the following: - Make it a technique for 4.1.1 instead of 1.3.1 - This technique should test that content that is added to the page using scripts can be parsed (similar to the tests available for HTML on SC 4.1.1). - The techniques needs an accessibility support note that describes the buffer problem that exists for innerHTML in older screen readers - There should be something in the technique about how libraries don't always show it's underlying methods (DOM, innerHTML or both). This is important to know for accessibility support.

This is still fairly in line with the subject of SCR21, which is why this is a rewrite instead of a new technique. SCR21 as it is now should be changed as it may cause confusion about what the technique is for (any type of dynamic content, not just content related to 1.3.1) and what it does (suggest use of DOM over innerHTML instead of prohibit innerHTML).