Canvas, Video and HTML5 Accessibility
At the moment, HTML5 is not an accessible specification. Granted, at the moment, HTML5 is not a completed specification.
Of course, HTML5 still contains the accessibility capabilities of HTML 4.01 so it isn’t necessarily a step backward. Where HTML5 is lacking is in the implementation of new elements that didn’t exist in previous versions of HTML. Most notably <canvas> and <video>.
These two new elements offer awesome new opportunities: scripted, interactive images (canvas) and native support for playing movies and video clips (video). And while adoption is still evolving, by next year the current builds of all major browsers should support these capabilities.
Both canvas and video offer support for basic text-based alternatives. They allow for alternate content to be contained between opening and closing elements. But the capabilities of video and interactive images go beyond what can be achieved with this method.
Canvas requires users to interact, events to be triggered, and content and context to evolve and change. Text-based alternative content isn’t sufficient. Luckily, there are smart people working to resolve this. Last year the W3C accessibility team was brought into the fold to help address the accessibility deficiencies of the HTML5 canvas element.
Similar to canvas, videos have events and transitions–moments that can’t be quantified and captured in plain text. The solution here is likely a key-frame/time-mark language to associate captions with video. No particular format has been associated with the HTML5 specification, but one will be coming.
What does this mean? Is HTML5 incomplete and doomed? Should we avoid it like the plague?
No. Like all new technologies, HTML5 needs time to be fine-tuned and for implementations to be ready. As an incomplete specification, it should be treated with caution for the time being. If you have a clearly defined audience that doesn’t require accessibility components of these new technologies, HTML5 could be a great solution. If you’re like the rest of us, though, proceed carefully.
There are a lot of work-arounds for adding captions to HTML5 video elements–maybe one will work for you.
Canvas is a trickier case. And will be for some time. The level of complexity in a scripted image concept is significantly higher. It will take time to figure how the accessibility pieces should work–even more time for their implementations to show up in the real world. For now, only use it when nothing else will work and be sure to offer the best text equivalents you can.