Accessibility guide for developers

I intend to gather a set of tips and guidelines designed for the developers of MediaWiki to write code (interfaces) that are more accessible. Perhaps a checklist...

Always

 * alt
 * title
 * use the html element fitting the function (so you should prefer elements over span, div and a elements)
 * :focus if you use :hover
 * Logical header structure
 * use lang and hreflang where appropriate
 * use lists for logically grouped data (move hlist of en.wp into core to facilitate this?)
 * contrast rules
 * The tools should be navigable by keyboard. Please turn that on in your browser in you are a developer.
 * If you feel the need to bold something, consider if it is not more appropriate to use a header or a strong/em element

Don't

 * use -1000 px to push something out of the viewport. This breaks our RTL rendering in several browsers

Consider

 * roles
 * avoid tables for layout purposes. We have some places where they are hard to get rid of (use WAI-ARAI ?)
 * hide stuff: http://www.paciellogroup.com/blog/2012/05/html5-accessibility-chops-hidden-and-aria-hidden/