Category Archives: Uncategorized

Webaim screenreader user survey

The annual screenreader user survey is out, at

If you’ve not seen it before, it is definitely worth the five minutes it will take you to scan through. Its results contradict a lot of received wisdom about screenreader behaviour, and highlight which features are actually really helpful (and which aren’t).

Main takeaways:

  • Screenereader users love headings for navigating around a page
  • 1.4% don’t have JS on, so your biggest user base without JS is going to be search bots.
  • 82.7% update their software
  • JAWS is still dominant, but decreasing due to uptake in NVDA (free) and VoiceOver (Mac, iOS)
  • CAPTCHA is still a massive pain. Only Flash is worse for difficulty
  • Quite a lot are using mobiles with screenreaders

Cleaning up Excel-generated HTML with sed on Mac Terminal

Not so long ago, a client gave us an Excel spreadsheet to work from as a temporary measure while the database got set up.

Excel exports to HTML but fills it with rubbish. Using regular expression-based find and replace in my IDE is normally fine, but with a file this large it froze. Command line is the only solution in such a case.

On the mac Terminal, the sed command is a little bit different from what you might use on *nix (and totally different from what you would do with a PC).

After manually cleaning up the head section, the following 3 commands cleaned up the table cells in my export:

sed -i '' 's/class=xl[0-9]*//g' Table.htm
sed -i '' 's/width=[0-9]*//g' Table.htm
sed -i '' 's/height=[0-9]*//g' Table.htm

sed is a stream editor, the -i switch makes it edit in place, the ” is where Mac differs. It requires a backup file name even if that is blank (therefore overwriting the original file) whereas for *nix it is optional.

The next bit is the regular expression and these particular ones are tailored to remove the class, width and height attributes that Excel adds to all the <td> elements. Finally, the name of the file to edit goes in.