This is my second session of the first day at the CSUN conference, and “takes a look at quirks and bugs in browsers and screen readers, what they mean for users, and how to avoid, fix, or work around them.” (description is from the conference session guide). As someone who is actively involved in building consistent web experiences (i.e. browser compatibility), I’m interested in how Ian does this when you add accessible technology into the mix. Any misinterpretations of Ian’s presentation are entirely my own. Any errata, please let me know!
Presenter: Ian Pouncey, Accessibility Specialist, BBC (@IanPouncey)
RESOURCES
SLIDE ONE
Ian took some time to establish his credibility…
Used to work on the Yahoo! home page, and more recently has been a web developer at the BBC. Been doing this for about 14 years. Written a book about CSS from Wrox publishing.
Room was made up of developers, technical folks, screen reader users, and those obliged to come (a little humor).
Ian shared a few slides that were pretty humorous related to “skip to content” links, wherein the humor was related to where you placed the accent on the word content (hopefully he’ll post those slides).
SLIDE TWO
Shared a couple pages about skip links from Gez Lemon and Terrilll Thompson, and then demonstrated dynamic skip link code with window.location.hash.
SLIDE THREE
Ian showed form error listings and focusing on fields with errors. Unfortunately, window.location.hash only works reliably in IE!
Ian did a demo of a skip link bug when using off-page content on iOS7. He prefers using content off-top rather than off-left. This technique however can result in some interesting behavior, notably showing the skip link after an up-swipe gesture to turn on VoiceOver, and then navigation after that makes the screen go completely blank.
Another option is to use off-screen CSS clipping, which unfortunately results in a lot more code. This clipping technique is used on about 98% of the BBC web site, so if you want to see it at work, head over there 🙂
SLIDE FOUR
Next, Ian shared an ARIA landmark bug in iOS6. This bug basically announces ALL landmarks in VoiceOver as simply “landmarks,” which is not very helpful. This bug is resolved by adding a heading to every landmark.
SLIDE FIVE
Finally, Ian shared a bug with Live Regions. You can’t always rely on live regions to provide information to the AT at the appropriate time.
Solution: JavaScript-added content can be read once it’s been written to the screen. So, you can build an empty div that quietly waits for content to be written into it. Be sure to use role status with the assertive attribute.