Hiding Content for Accessibility

Jonathan Snook gives a run down of hiding content for accessibility. It was suggested by a couple colleagues hiding something with the following method would hide content but take it out of the document flow.

#element{
	position: absolute;
	visibility: hidden;
}

However, some screen readers will not read text if it’s visibility is set to hidden, including many of the most popular like JAWS and IBM’s Homepage Reader. This is why when you truly hide something, you use both display: none and visibility: hidden. They don’t act the same from a screen reader point of view and different readers handle these declarations differently. If you want it to be read by a screen reader, never use display:none or visibility:hidden.

Additionally, Jonathan’s con for the text indent method is nullified if you add overflow:hidden to the invisible item.