HTML and CSS Reference
not also get marked as presentational in the eyes of screen-
readers and other ARIA-consuming user agents.
Of course, if you need groovy borders for your data tables, use
CSS. This is really here just for backwards compatibility.
Previous versions of HTML had a summary attribute on <table> ,
which was not to be rendered visually but was purely “for user
agents rendering to non-visual media such as speech and
Braille.” This is now nonconforming. One reason for this is that
data that can't be seen can fall out of step with the visual data
that it describes. This might happen when a harassed developer
updates the data in the table and, because the hidden summary
is invisible to a quick visual check, fails to update the summary
as well to correspond with the visible data. An incorrect sum-
mary of the table data is worse than no summary at all.
It's been argued that it would be better to require user agents
to render table summaries visually, but unfortunately WCAG 1,
the original web accessibility guidelines, required a table sum-
mary, so there are many layout tables with the helpful summary
“This is a layout table” and it's unlikely that the Web would be
improved by revealing each of those.
It seems to me that if a website has a structure complex enough
that it needs summarising to visually impaired users, non-screen
reader users might also benefit from that information. There-
fore, the spec gives numerous suggestions for presenting this
information visually: surrounding the table, in the table's caption,
in a <details> element, next to the table in the same <figure> ,
next to the table in a <figcaption> , or simply in prose.
The attribute longdesc was a very rarely used attribute on images
that pointed to a separate page which described the image
in detail. It's been removed from HTML5, largely because few
authors ever used it, and few of those who did authored it
correctly. Nevertheless, it is much beloved by screen reader
users, 60 percent of whom say it's “somewhat” or “very” useful
and no comparable method exists to provide the same form of
extended description, so you'll need to use other mechanisms
(such as the <details> element) to describe an image.