4

I'm working on a web page with a series of charts that are built from visually-hidden HTML tables for accessibility - the idea being that the tables present the data in a form suitable for screen readers, and the data is rendered to SVG for visual web browsers.

It all works pretty well, but I'm wondering what the best way to accessibly specify units (effectively, the y-axis label) might be? Some of the tables / charts represent percentages, some represent frequencies, and some represent ages.

I suppose I could put the units in every element of the table so screen readers read, eg. "5 times per week", "3 times per week", but this seems very clunky. What I'd really like to do is specify units on, eg. the column header. Is there an accessible way to do this, though? Alternatively, would it be better to just specify the units in the table caption?

2

I think this is debatable. In my experience, some screen reader users might benefit from having the units ("per week") in each table cell because it can be mentally taxing to cross-reference the data in a cell against information provided separately. It's better to have that extra verbosity for the avoidance of doubt, even if it is a little repetitive.

That said, an alternative would be to include the units in the column heading (inside the <th> element). That should then be announced each time the user moves from one column to the next. In JAWS (and I expect other screen readers) this information can be repeated on command by the user.

  • 1
    Yes, there's no need to put the units in each cell. The screen reader will announce the header as you enter a column and won't keep repeating the header as you move up and down within a column. – Patrick McElhaney Jan 14 '15 at 12:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.