Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is dynamic DOM building 508 complaint?

With more and more people using things like Backbone, Ember and other JS MVC type frameworks, more and more HTML DOMs are being built dynamically with the first HTML page only containing a "root" element to dump the generated HTML into.

Is this practice 508 complaint?

like image 702
kidcapital Avatar asked Nov 30 '12 00:11

kidcapital


3 Answers

Presumably as long as there is a way for everyone to access whatever information you are supplying, then yes. If you are relying entirely on JavaScript to provide said information, then I would guess no, since not everyone has JavaScript enabled. Section 508 requires <noscript> tags that provide the ability to get the information in by other means because not all assistive technology can access the same. That seems to be the general way these things work (the W3 Accessibility guidelines emphasize that, and the 508 standards, specifically those on equivalency, seem to say much the same).

So the presentation doesn't have to be the same, as long as the experience is "comparable", according to the 508 standards. But I would think that if the presentation relies on JavaScript (and dynamic DOM building requires JavaScript), the experience would not be comparable, and thus you would have to provide an alternative HTML-only version of the site.

like image 181
David John Welsh Avatar answered Nov 14 '22 03:11

David John Welsh


It all depends on how you do it. I can take a system that's supposed to be 508 compliant (like Plone) and make it completely non-compliant.

If you want to make dynamic sites, I recommend looking into WAI-ARIA. It's part of the official HTML5 spec, and is supported by all major browsers.

In short, WAI-ARIA works by allowing the developer to add a role attribute to a tag. For example, you can give a tag the 'alert' role, if it's something that would pop-up on a page. You can combine roles with CSS and JS to create applications that can be used by individuals with a variety of disabilities.

like image 3
kcunning Avatar answered Nov 14 '22 04:11

kcunning


I believe, so long as you provide a static version of your webpage, then it should be complaint. MVC and MVVC websites contain AJAX content and, by default, they use JavaScript to push and pull the information on the page as well as construct the DOM. This alone isn't enough, but If you follow the guidelines for providing an indexed version of your website then you can have a full static representation of each page. Those pages are pages that you would want a search engine to see (this would essentially be the same as the public). Follow this approach and theoretically it should work.

Here's some more info about how this works with a MVC JavaScript framework called AngularJS: http://www.yearofmoo.com/2012/11/angularjs-and-seo.html

like image 1
matsko Avatar answered Nov 14 '22 04:11

matsko