Tell screen reader that page has changed in Backbone/Angular single-page app

Overall, you should not need to trigger a ‘re-read’, and depending on your UI that might not be a good thing anyway. My experience has been with angular.js (as an accessibility person rather than the developer), and our overall approach was to manage the focus rather than trigger a re-read. (We do extensive accessibility testing.) … Read more

How to programmatically use iOS voice synthesizers? (text to speech)

Starting from iOS 7, Apple provides this API. Objective-C #import <AVFoundation/AVFoundation.h> … AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString:@”Hello World!”]; AVSpeechSynthesizer *synth = [[AVSpeechSynthesizer alloc] init]; [synth speakUtterance:utterance]; Swift import AVFoundation … let utterance = AVSpeechUtterance(string: “Hello World!”) let synth = AVSpeechSynthesizer() synth.speakUtterance(utterance)

Two input fields inside one label

No, it’s not correct (since, as you note, a label is associated with exactly one form input). To label a group of inputs that belong together, use a <fieldset> and a <legend>: <fieldset> <legend>Range</legend> <label for=”min”>Min</label> <input id=”min” name=”min” /> <label for=”max”>Max</label> <input id=”max” name=”max” /> </fieldset> References: <input />HTML 5 spec. <fieldset>HTML 5 spec. … Read more

Accessibility: recommended alt-text convention for SVG and MathML?

After some digging, I found some somewhat official recommendations. Unfortunately, most are not functional at this point in time. Both the browsers and the screen readers have a lot of to implement before Math and SVG can be considered accessible, but things are starting to look up. Disclaimer: the below recommendations are what I have … Read more

Default html form focus without JavaScript

You can do it in HTML5, but otherwise, you must use JavaScript. HTML5 allows you to add autofocus to your form element, eg: <input type=”text” name=”myInput” autofocus /> This does work in browsers which support HTML5 (Or rather, browsers which support this particular part of HTML5) but as you know, not everybody can use it … Read more

What is aria-label and how should I use it?

It’s an attribute designed to help assistive technology (e.g. screen readers) attach a label to an otherwise anonymous HTML element. So there’s the <label> element: <label for=”fmUserName”>Your name</label> <input id=”fmUserName”> The <label> explicitly tells the user to type their name into the input box where id=”fmUserName”. aria-label does much the same thing, but it’s for … Read more