Accessibility guide for developers

Accessibility is important for our users and we can improve it if we take into account a few basic ideas and rules. Accessibility is difficult insofar as there are no fixed and universally accepted technical standards that actually work consistently and for all users. This page does not list or discuss specific accessibility problems in MediaWiki. It attempts to focus on technology choices and Do's and Don'ts to prevent accessibility problems.

Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus, Coronavirus,

User:Stuck Home User:Past Version User:Fireball Earth User:To Be Deleted

Accessibility measurements in many forms
Accessibility is about a variety of things, please consider the following:
 * Something should be understandable: that means textually, visually, logically and in complexity.
 * Some users need a screen reader to interact, but just as, if not more common are: a loupe, higher contrast, a text to speech engine, custom CSS settings, or a special type of keyboard/input device.
 * It needs to be reachable; responsiveness, affordability, location, language, hardware, etc.


 * Logical heading structure : All pages should always have a logical and consistent heading structure. Headings are one of the primary navigation tools used by screen reader users.
 * There should be no gaps in the nesting of the heading levels (So no H2->H4)
 * Headings should be descriptive
 * Headings should be unique within their own level. (There should not be two H3's with the same content under the same H2 section)
 * There should be separation between navigation and content
 * Use a tool like Firefox accessibility evaluation toolbar to easily inspect the structure of all headers.


 * attribute for images with meaningful values : If an image is decorative, use an explicit empty value for the alt attribute; even better, turn it into a CSS background image.
 * the image alt usually takes precedence over the title attribute of images and even over the title attribute of links that wrap an image. some tests


 * attribute for links : These are usually shown as the tooltips
 * Only use titles if they differ from the link text.
 * Most link titles are not actually spoken by screen readers, unless the reader has been explicitly configured this way.


 * and  attributes : Using lang and hreflang enables selecting a proper voice in screen readers, picks the right spelling correction in browsers etc.


 * is only used by a tiny part of the audience (for instance, reading a page vs modifying the configuration of the installation).

Consider

 * ARIA Roles
 * If a div or span behaves like an actual button use . also   and
 * Be careful with roles. For instance, don't add  to a   element, since the   element has an implicit , which will be overwritten. Instead use  . Similarly for   which has an implicit
 * If a button creates a popupdialog, use.
 * Use  for contexts where this is not fully logical by itself (so everywhere except for labels in forms and headers in tables).
 * 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/
 * skip/jump to links

Things to discuss

 * Usage of  in labels. Ending a label with a dot, causes the screen reader to make a fullstop. See also: 24592 where the lack of fullstops creates unintelligible sentences.

Papers

 * "Making Wikipedia editing easier for the blind". 2008. M. Claudia Buzzi, Marina Buzzi. IIT-National Research Council. DOI:10.1145/1463160.1463210
 * "Is Wikipedia Usable for the Blind". 2008. Marina Buzzi (IIT), Barbara Leporini (ISTI). p. 15-22.
 * "Wikipedia, the open encyclopaedia: is it really open to blind users?" (Conference paper). 2008. j. ACM. Barbara Leporini. DOI:10.1145/1368044.1368049 (Derived from parent work)