I got a good question by Raywonder over Twitter. Raywonder is a long-term user who uses a screen-reader to maintain his ocPortal sites.
He enquired if we could have a standard whereby checkboxes always precede checkbox labels. Screen-readers should be able to identify the association by way of the label relationship, but the reality is screen-readers aren't nearly as good as they should be – the accessibility standards have always been ahead of what screen-readers can actually do effectively.
It's not so easy to reply in 240 characters, so I thought I'd turn it into a blog post. Some day I'll get him posting on the forums, as I usually only notice when people tweet me when I check my phone before going to sleep .
I checked, and indeed we do indeed do this inconsistently. There is no standard way of doing it. Sometimes checkboxes do go first, so you don't need to scan past a label, or so alignments are neater for standalone checkboxes near other text. Sometimes checkboxes go after so that they can neatly align with other form fields such as text boxes (text box labels always go first).
I've decided the best way to approach this is to introduce a new ocPortal coding standard, which we'll inject into the next v9 patch release. If a checkbox is going to go after a label, that label must end with a colon (. The colon will help people intuitively sense that the checkbox will follow that label. Our code scanning technology will be adapted to enforce this, so that we are alerted to any problems during our standard pre-release testing process.
Perhaps the best thing about being both CEO of ocProducts and Chief Nerd of ocPortal is that I one minute I'm running projects for major corporations, and the next minute I'm interacting with individual users to make a better product for everyone .
Form checkboxes and accessibility