Difference between revisions of "UniWiki:Manual of Style/Accessibility"
Lord Finnbar (talk | contribs) m (→Best practice: Use Wikimarkup and CSS classes in preference to alternatives: Fixed broken links) |
|||
(25 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
[[Wikipedia:Web accessibility|Web accessibility]] is the goal of making web pages easier to navigate and read. While this is primarily intended to assist those with [[Wikipedia:Disability|disabilities]], it can be helpful to all readers. The following suggestions are based on the [[Wikipedia:WCAG|Web Content Accessibility Guidelines]] 2.0 (a.k.a. [[Wikipedia:International Standards Organization|ISO]]/IEC 40500:2012). Articles adhering to them are easier to read and edit for everyone. | [[Wikipedia:Web accessibility|Web accessibility]] is the goal of making web pages easier to navigate and read. While this is primarily intended to assist those with [[Wikipedia:Disability|disabilities]], it can be helpful to all readers. The following suggestions are based on the [[Wikipedia:WCAG|Web Content Accessibility Guidelines]] 2.0 (a.k.a. [[Wikipedia:International Standards Organization|ISO]]/IEC 40500:2012). Articles adhering to them are easier to read and edit for everyone. | ||
− | + | = Article structure = | |
A standardized structure of articles improves accessibility, because it enables users to expect contents to be in a specific part of the page. For example, a blind user is searching for disambiguation links. If he doesn't find any at the top of the page, he will know that there aren't any and he doesn't have to read the whole page to find that out. | A standardized structure of articles improves accessibility, because it enables users to expect contents to be in a specific part of the page. For example, a blind user is searching for disambiguation links. If he doesn't find any at the top of the page, he will know that there aren't any and he doesn't have to read the whole page to find that out. | ||
Line 20: | Line 20: | ||
UniWiki articles should be accessible to readers using devices with small screens, or to readers using monitors with a low resolution. The lowest resolution that it is considered possible to support without adversely affecting other users is 1024×768; all articles should look acceptable at this resolution without excessive horizontal scrolling. This is sometimes an issue in articles with multiple images on both sides of the screen; although lower resolutions will tend to stretch paragraphs vertically, moving images apart in that direction, be careful not to add images or other floating content on both sides of the screen simultaneously. Large tables and images can also create problems; sometimes horizontal scrolling is unavoidable, but consider restructuring wide tables to extend vertically rather than horizontally. | UniWiki articles should be accessible to readers using devices with small screens, or to readers using monitors with a low resolution. The lowest resolution that it is considered possible to support without adversely affecting other users is 1024×768; all articles should look acceptable at this resolution without excessive horizontal scrolling. This is sometimes an issue in articles with multiple images on both sides of the screen; although lower resolutions will tend to stretch paragraphs vertically, moving images apart in that direction, be careful not to add images or other floating content on both sides of the screen simultaneously. Large tables and images can also create problems; sometimes horizontal scrolling is unavoidable, but consider restructuring wide tables to extend vertically rather than horizontally. | ||
− | + | = Text = | |
{{See also|UniWiki:Manual of Style/Text formatting}} | {{See also|UniWiki:Manual of Style/Text formatting}} | ||
Line 31: | Line 31: | ||
Reduced font sizes should be used sparingly. Avoid using smaller font sizes in elements that already use a smaller font size, such as infoboxes, navboxes and reference sections. In no case should the resulting font size drop below 85% of the page fontsize (or 11px). | Reduced font sizes should be used sparingly. Avoid using smaller font sizes in elements that already use a smaller font size, such as infoboxes, navboxes and reference sections. In no case should the resulting font size drop below 85% of the page fontsize (or 11px). | ||
− | + | = Links = | |
− | # Create good link descriptions, especially for external links (avoid "[[click here]]!", "[http://example.com/ this]"). | + | # Create good link descriptions, especially for external links (avoid "[[Wikipedia:Click here|click here]]!", "[http://example.com/ this]"). |
− | # Do not use [[Unicode]] characters as icons; use an icon with alt text instead. For example, a character like "→" can not be reproduced into useful text by a [[screen reader]], and will usually be read as a question mark. | + | # Do not use [[Wikipedia:Unicode|Unicode]] characters as icons; use an icon with alt text instead. For example, a character like "→" can not be reproduced into useful text by a [[Wikipedia:Screen reader|screen reader]], and will usually be read as a question mark. |
− | + | = Color = | |
+ | :''See also: [[Wikipedia:Help:Using colours|Wikipedia:Using colors]], [[UniWiki:Manual of Style/Text formatting#Color]]'' | ||
− | + | '''Colors''' are most commonly found in UniWiki articles within [[Wikipedia:Wikipedia:Template namespace|templates]] and [[Wikipedia:Wikipedia:How to use tables|tables]]. For technical assistance on how colors are used, see [[Wikipedia:Help:Using colours|Wikipedia:Using colors]]. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | '''Colors''' are most commonly found in | ||
Articles (and other pages) that use color should keep accessibility in mind, as follows: | Articles (and other pages) that use color should keep accessibility in mind, as follows: | ||
− | * Ensure that color is not the only method used to convey important information. Especially, do not use colored text or background unless its status is also indicated using another method such as an [[#Text|accessible symbol]] matched to a legend, or [[Wikipedia:Footnotes|footnote labels]]. Otherwise, [[blindness|blind]] users or readers accessing | + | * Ensure that color is not the only method used to convey important information. Especially, do not use colored text or background unless its status is also indicated using another method such as an [[#Text|accessible symbol]] matched to a legend, or [[Wikipedia:Wikipedia:Footnotes|footnote labels]]. Otherwise, [[Wikipedia:blindness|blind]] users or readers accessing the UniWiki through a printout or device without a color screen will not receive that information. |
* Links should clearly be identifiable as a link to our readers. | * Links should clearly be identifiable as a link to our readers. | ||
− | * Some readers of Wikipedia are partially or fully [[color-blind]]. Ensure the contrast of the text with its background reaches at least [[WCAG|WCAG 2.0's]] AA level, and AAA level when feasible (see WCAG's [http://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-contrast.html "Understanding SC 1.4.3: Contrast (Minimum)"]). Here is a selection of tools that can be used to check that the contrast is correct: | + | * Some readers of Wikipedia are partially or fully [[Wikipedia:Color-blind|color-blind]]. Ensure the contrast of the text with its background reaches at least [[Wikipedia:WCAG|WCAG 2.0's]] AA level, and AAA level when feasible (see WCAG's [http://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-contrast.html "Understanding SC 1.4.3: Contrast (Minimum)"]). Here is a selection of tools that can be used to check that the contrast is correct: |
** The [http://www.paciellogroup.com/resources/contrastAnalyser#download Color Contrast Analyser] enables you to pick colors on the page, and review their contrast thoroughly. However, be sure to only use the up-to-date "luminosity" algorithm, and not the "color brightness/difference" which is outdated. | ** The [http://www.paciellogroup.com/resources/contrastAnalyser#download Color Contrast Analyser] enables you to pick colors on the page, and review their contrast thoroughly. However, be sure to only use the up-to-date "luminosity" algorithm, and not the "color brightness/difference" which is outdated. | ||
** You can also use [http://snook.ca/technical/colour_contrast/colour.html Snook's color contrast tool], which is entirely up-to-date. | ** You can also use [http://snook.ca/technical/colour_contrast/colour.html Snook's color contrast tool], which is entirely up-to-date. | ||
− | ** Several other tools exist on the web, but check if they are up-to-date before using them. Several tools are based on [[WCAG 1.0]]'s algorithm, while the reference is now [[WCAG 2.0]]'s algorithm. If the tool doesn't specifically mention that it is based on WCAG 2.0, assume that it is outdated. | + | ** Several other tools exist on the web, but check if they are up-to-date before using them. Several tools are based on [[Wikipedia:WCAG 1.0|WCAG 1.0]]'s algorithm, while the reference is now [[Wikipedia:WCAG 2.0|WCAG 2.0]]'s algorithm. If the tool doesn't specifically mention that it is based on WCAG 2.0, assume that it is outdated. |
* Additional tools can be used to help produce graphical charts and color schemes for maps and the like. These tools are not accurate means to review contrast accessibility, but they can be helpful for specific tasks. | * Additional tools can be used to help produce graphical charts and color schemes for maps and the like. These tools are not accurate means to review contrast accessibility, but they can be helpful for specific tasks. | ||
** The [http://ColorSchemeDesigner.com/ color scheme generator] helps to choose a good set of colors for a graphical chart. | ** The [http://ColorSchemeDesigner.com/ color scheme generator] helps to choose a good set of colors for a graphical chart. | ||
** [http://colorbrewer2.org/ Color Brewer 2.0] provides safe color schemes for maps and detailed explanations. | ** [http://colorbrewer2.org/ Color Brewer 2.0] provides safe color schemes for maps and detailed explanations. | ||
** [http://colorfilter.wickline.org/?j=1;t=a Colorfilter.wickline.org] or [http://www.vischeck.com/vischeck/vischeckURL.php vischeck.com] are tools for simulating color blind vision. | ** [http://colorfilter.wickline.org/?j=1;t=a Colorfilter.wickline.org] or [http://www.vischeck.com/vischeck/vischeckURL.php vischeck.com] are tools for simulating color blind vision. | ||
− | |||
− | |||
− | + | = Block elements = | |
− | + | == Lists == | |
− | + | ''See also: [[Wikipedia:Help:Lists|Wikipedia:Lists]] | |
− | |||
− | Do not separate list items by leaving empty lines or tabular column breaks between them. This includes items in a [[description list]] (a list made with a leading colon) or an [[unordered list]] | + | Do not separate list items by leaving empty lines or tabular column breaks between them. This includes items in a [[Wikipedia:Description list|description list]] (a list made with a leading colon) or an [[Wikipedia:Unordered list|unordered list]]. These excessive double line breaks also disrupt [[Wikipedia:Screen reader|screen readers]], which will announce multiple lists when only one was intended, and therefore may mislead or confuse users of these programs. Improper formatting can also more than triple the length of time it takes them to read the list. Likewise, do not switch between list marker types (colons, asterisks or hash signs) in one list, unless embedding lists starting at the highest level. |
− | For example, in a discussion, | + | For example, in a discussion, {{dothis|do this best practice:}} |
<pre> | <pre> | ||
Line 77: | Line 67: | ||
</pre> | </pre> | ||
− | or {{ | + | or {{dothis|this acceptable practice:}} |
<pre> | <pre> | ||
Line 84: | Line 74: | ||
</pre> | </pre> | ||
− | but {{ | + | but {{notthis|don't do this:}} |
<pre> | <pre> | ||
Line 91: | Line 81: | ||
</pre> | </pre> | ||
− | or {{ | + | or {{notthis|this:}} |
<pre> | <pre> | ||
Line 99: | Line 89: | ||
</pre> | </pre> | ||
− | + | === Indentation === | |
− | + | :''See also [[Wikipedia:Wikipedia:Indentation|Wikipedia:Indentation]]'' | |
− | |||
Colons (:) at the start of a line mark that line as part of an HTML definition list. The visual effect in most web browsers is to indent the line. This is used, for example, to indicate replies in a threaded discussion on Talk pages. This is not ideal for accessibility or semantics, but is currently in wide use. Blank lines should not be placed between indented lines of text, as they are interpreted by the software as marking the end of a list and the start of a new one. If a blank line is needed, place the same number of colons on it as those preceding the text below the blank line, for instance: | Colons (:) at the start of a line mark that line as part of an HTML definition list. The visual effect in most web browsers is to indent the line. This is used, for example, to indicate replies in a threaded discussion on Talk pages. This is not ideal for accessibility or semantics, but is currently in wide use. Blank lines should not be placed between indented lines of text, as they are interpreted by the software as marking the end of a list and the start of a new one. If a blank line is needed, place the same number of colons on it as those preceding the text below the blank line, for instance: | ||
Line 111: | Line 100: | ||
</pre> | </pre> | ||
− | + | === Bulleted vertical lists === | |
− | + | For bulleted vertical lists, do not separate items by leaving blank lines between them. If list items are separated by more than one line break, the [[Wikipedia:WP:HTML|HTML]] list will be ended before the line break, and another HTML list will be opened after the line break. This effectively breaks what is seen as one list into several smaller lists for those using [[Wikipedia:Screen reader|screen readers]]. For example, for the coding: | |
− | |||
− | For bulleted vertical lists, do not separate items by leaving blank lines between them. If list items are separated by more than one line break, the [[WP:HTML|HTML]] list will be ended before the line break, and another HTML list will be opened after the line break. This effectively breaks what is seen as one list into several smaller lists for those using [[screen | ||
<pre>* White rose | <pre>* White rose | ||
Line 133: | Line 120: | ||
but will be read by a screen reader as: "List of 2 items: (bullet) White rose, (bullet) Yellow rose, list end. List of 1 items: (bullet) Pink rose, list end. List of 1 items: (bullet) Red rose, list end." | but will be read by a screen reader as: "List of 2 items: (bullet) White rose, (bullet) Yellow rose, list end. List of 1 items: (bullet) Pink rose, list end. List of 1 items: (bullet) Red rose, list end." | ||
− | Do not separate list items with line breaks ({{tag|br|o}}). | + | Do not separate list items with line breaks ({{tag|br|o}}). |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | == Tables == | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Screen readers and other web browsing tools make use of specific table tags to help users navigate the data contained within them. | Screen readers and other web browsing tools make use of specific table tags to help users navigate the data contained within them. | ||
− | Use the correct wikitable pipe syntax to take advantage of all the features available. See [ | + | Use the correct wikitable pipe syntax to take advantage of all the features available. See [https://meta.wikimedia.org/wiki/Help:Table MetaWiki:Tables] for more information on the special syntax used for tables. Do not solely use formatting, either from CSS or hard-coded styles, to create semantic meaning (e.g., changing background colour). |
− | Many [[Wikipedia:Navigational templates|navboxes]], [[Wikipedia:Series templates|series]] templates, and [[Help:Infobox|infoboxes]] are made using tables. | + | Many [[Wikipedia:Wikipedia:Navigational templates|navboxes]], [[Wikipedia:Wikipedia:Series templates|series]] templates, and [[Wikipedia:Help:Infobox|infoboxes]] are made using tables. |
− | Avoid using {{tag|br|single}} tags in adjacent cells to emulate a visual row that isn't reflected in the HTML table structure. This is a problem for users of screen readers which read tables cell by cell, HTML row by HTML row, not visual row by visual row | + | Avoid using {{tag|br|single}} tags in adjacent cells to emulate a visual row that isn't reflected in the HTML table structure. This is a problem for users of screen readers which read tables cell by cell, HTML row by HTML row, not visual row by visual row. |
==== Data tables ==== | ==== Data tables ==== | ||
− | + | :''See also: [[Wikipedia:Wikipedia:Manual of Style/Accessibility/Data tables tutorial|Wikipedia:Data tables tutorial]]'' | |
<pre> | <pre> | ||
Line 282: | Line 151: | ||
</pre> | </pre> | ||
− | ; Caption ( <code>|+</code> ): A caption is a table's title, describing its nature. | + | ; Caption ( <code>|+</code> ): A caption is a table's title, describing its nature. |
− | ; Row & column headers (<code> ! </code>): Like the caption, these help present the information in a logical structure to visitors. | + | ; Row & column headers (<code> ! </code>): Like the caption, these help present the information in a logical structure to visitors. The headers help screen readers render header information about data cells. For example, header information is spoken prior to the cell data, or header information is provided on request. |
− | ; Scope of headers (<code> ! scope="col" | and ! scope="row" | </code>): This clearly identifies headers as either row headers or column headers. Headers can now be associated to corresponding cells. | + | ; Scope of headers (<code> ! scope="col" | and ! scope="row" | </code>): This clearly identifies headers as either row headers or column headers. Headers can now be associated to corresponding cells. |
− | [[Wikipedia:Manual of Style/Accessibility/Data tables tutorial]] provides detailed requirements about: | + | [[Wikipedia:Wikipedia:Manual of Style/Accessibility/Data tables tutorial|Wikipedia's data tables tutorial]] provides detailed requirements about: |
# Correct table captions | # Correct table captions | ||
# Correct headers structure | # Correct headers structure | ||
Line 293: | Line 162: | ||
==== Layout tables ==== | ==== Layout tables ==== | ||
− | |||
− | Avoid using tables for layout purposes only. The best option is to use [[HTML]]'s <code><div></code> blocks and style attributes because they provide flexibility. | + | Avoid using tables for layout purposes only. The best option is to use [[Wikipedia:HTML|HTML]]'s <code><div></code> blocks and style attributes because they provide flexibility. |
For simple layouts, tables can be an option. Especially if the only point of the table is to get a floating effect, then <code>align="right"</code> etc. will work with some browsers [[#Users with limited CSS/JavaScript support|not supporting CSS]] at all. This is in fact a verbose approximation of <code><div></code> plus CSS, and not the design sin known as (nested) "table layout". | For simple layouts, tables can be an option. Especially if the only point of the table is to get a floating effect, then <code>align="right"</code> etc. will work with some browsers [[#Users with limited CSS/JavaScript support|not supporting CSS]] at all. This is in fact a verbose approximation of <code><div></code> plus CSS, and not the design sin known as (nested) "table layout". | ||
Line 311: | Line 179: | ||
</pre> | </pre> | ||
− | + | = Images = | |
− | + | :''Further information: [[Wikipedia:Wikipedia:Alternative text for images|Wikipedia:Alternative text for images]], [[UniWiki:Manual of Style#Images]], [[Wikipedia:Wikipedia:Image use policy#Size|Wikipedia:Image use policy#Size]]'' | |
− | |||
− | # Images should include an [[alt attribute]] that acts as a substitute for the image for blind readers, search-spiders, and other non-visual users. If additional alt text is added it should be succinct, or should refer the reader to the caption or adjacent text: see [[WP:ALT]] for more information. | + | # Images should include an [[Wikipedia:Alt attribute|alt attribute]] that acts as a substitute for the image for blind readers, search-spiders, and other non-visual users. If additional alt text is added it should be succinct, or should refer the reader to the caption or adjacent text: see [[Wikipedia:WP:ALT|Wikipedia:Alternative text for imates]] for more information. |
− | # In [[ | + | # In [[UniWiki:Manual of Style/Captions#Special situations|most cases]], images should contain a [[UniWiki:Manual of Style/Captions|caption]] using the built in image syntax. The caption should concisely describe the meaning of the image, the essential information it is trying to convey. |
# Where possible, any charts or diagrams should have a text equivalent, or should be well-described so that users who are unable to see the image can gain some understanding of the concept. | # Where possible, any charts or diagrams should have a text equivalent, or should be well-described so that users who are unable to see the image can gain some understanding of the concept. | ||
# Detailed image descriptions, where not appropriate for an article, should be placed on the image description page, with a note saying that activating the image link will lead to a more detailed description. | # Detailed image descriptions, where not appropriate for an article, should be placed on the image description page, with a note saying that activating the image link will lead to a more detailed description. | ||
− | # Images should be inside the section they belong to (after the heading and after any links to other articles), and not | + | # Images should be inside the section they belong to (after the heading and after any links to other articles), and not at the end of the previous section, otherwise screen readers would read the image (and its textual alternative) in a different section; as they would appear to viewers of the mobile site. See [[Wikipedia:Wikipedia:Picture tutorial|Wikipedia:Picture tutorial]] for more information. |
# Avoid referring to images as being on the left or right. Image placement is different for viewers of the mobile version of Wikipedia, and is meaningless to people having pages read to them by assistive software. Instead, use captions to identify images. | # Avoid referring to images as being on the left or right. Image placement is different for viewers of the mobile version of Wikipedia, and is meaningless to people having pages read to them by assistive software. Instead, use captions to identify images. | ||
− | |||
− | + | = Animations, videos and audio = | |
− | + | :''Further information: [[Wikipedia:Wikipedia:Media help|Wikipedia:Media help]], [[Wikipedia:Wikipedia:Creation and usage of media files|Wikipedia:Creation and usage of media files]]'' | |
− | |||
− | + | == Animations == | |
− | To be accessible, an animation ([[GIF]] – Graphics Interchange Format) should either: | + | To be accessible, an animation ([[Wikipedia:GIF|GIF]] – Graphics Interchange Format) should either: |
− | * Not exceed a duration of five seconds (which results in making it a purely decorative element) | + | * Not exceed a duration of five seconds (which results in making it a purely decorative element), or |
− | * Be equipped with control functions (stop, pause, play) | + | * Be equipped with control functions (stop, pause, play) |
This requires GIFs with animations longer than five seconds to be converted to video (to learn how, see the tutorial [//commons.wikimedia.org/w/index.php?title=Help_talk:Converting_video&oldid=39737985#Converting_an_animated_GIF converting animated GIFs to Theora OGG]). | This requires GIFs with animations longer than five seconds to be converted to video (to learn how, see the tutorial [//commons.wikimedia.org/w/index.php?title=Help_talk:Converting_video&oldid=39737985#Converting_an_animated_GIF converting animated GIFs to Theora OGG]). | ||
− | In addition, animations '''''must not''''' produce more than three flashes in any one-second period. Content that flashes more than that limit is known to cause seizures. | + | In addition, animations '''''must not''''' produce more than three flashes in any one-second period. Content that flashes more than that limit is known to cause seizures. |
− | + | == Video == | |
− | Subtitles can be added to video, in [[Timed Text]] format. There is a corresponding help page at [ | + | Subtitles can be added to video, in [[Wikipedia:Timed Text|Timed Text]] format. There is a corresponding help page at [https://commons.wikimedia.org/wiki/Commons:Video#Subtitles_and_closed_captioning WikiMedia Commons:Video#Subtitles and closed captioning]. Subtitles are meant for the transcription of speech. |
− | There is a need for [[closed captions]] for the hearing impaired. As of | + | There is a need for [[Wikipedia:Closed captions:closed captions]] for the hearing impaired. As of December 2016 this is not possible, but this feature could be added in the future. Closed captions are meant to be viewed instead of subtitles. Closed captions provide a text version of all important information provided through the sound. It can include dialogue, sounds (natural and artificial), the setting and background, the actions and expressions of people and animals, text or graphics. Off-UniWiki guides should be consulted for how to create closed captions.<ref>Please see : [http://main.wgbh.org/wgbh/pages/mag/services/captioning/faq/sugg-styles-conv-faq.html A quick and basic reference for closed captions], [http://www.cab-acr.ca/english/social/captioning/captioning.pdf a detailed reference (PDF)] and [http://www.dcmp.org/captioningkey/index.html a list of best practices for closed captions].</ref> |
− | A text version of the video would also be needed for the blind, but as of | + | A text version of the video would also be needed for the blind, but as of December 2016 there is no convenient way to provide alt text for videos. |
− | + | == Audio == | |
− | Subtitles for speech, lyrics, dialogue, etc. | + | Subtitles for speech, lyrics, dialogue, etc. can easily be added to audio files. The method is similar to that of the video: [https://commons.wikimedia.org/wiki/Commons:Video#Subtitles_and_closed_captioning WikiMedia Commons:Video#Subtitles and closed captioning]. |
− | + | = Styles and markup options = | |
− | |||
=== Best practice: Use Wikimarkup and CSS classes in preference to alternatives === | === Best practice: Use Wikimarkup and CSS classes in preference to alternatives === | ||
− | In general, styles for tables and other block-level elements should be set using CSS classes, not with inline style attributes. | + | In general, styles for tables and other block-level elements should be set using CSS classes, not with inline style attributes. It allows users with very specific needs to change the color schemes in their browser's style sheet. For example, a style sheet at [[Wikipedia:Wikipedia:Style sheets for visually impaired users|Wikipedia:Style sheets for visually impaired users]] provides higher contrast backgrounds for [[Wikipedia:WP:NAVBOX|navboxes]]. The problem is that when the default site-wide classes are overridden, it makes it far more difficult for an individual to choose his/her own theme. |
It also creates a greater degree of professionalism by ensuring a consistent appearance between articles and conformance to a style guide. | It also creates a greater degree of professionalism by ensuring a consistent appearance between articles and conformance to a style guide. | ||
− | Regarding accessibility, deviations from standard conventions may be tolerated [[ | + | Regarding accessibility, deviations from standard conventions may be tolerated [[UniWiki:Manual of Style/Accessibility#Color|so long as they are accessible]]. If some template or specific color scheme deviates from the standard, its authors should make sure that it meets accessibility requirements such as providing enough [[Wikipedia:WP:Colour contrast|color contrast]]. For instance, the infoboxes and [[Wikipedia:Template:The Simpsons|navigational templates]] relating to ''[[Wikipedia:The Simpsons|The Simpsons]]'' use a yellow colour scheme, to tie in with the dominant colour in the series. In this case, blue links on yellow provides enough colour contrast, and thus is accessible. |
− | In general, articles should use [[ | + | In general, articles should use [[Wikipedia:Help:Wikitext|Wikimarkup]] in preference to the limited set of [[Wikipedia:Help:HTML in wikitext|allowed HTML elements]]. In particular, do not use the HTML style elements {{tag|i|o}} and {{tag|b|o}} to format text; it is preferable to use Wiki-markup <code><nowiki>''</nowiki></code> or <code><nowiki>'''</nowiki></code> for purely typographic italicisation and boldfacing, respectively, and use [[Wikipedia:Category:Semantic markup templates|semantic markup templates]] or elements for more meaningful differences. The {{tag|font|o}} element should also be avoided in article text to emphasise logical differences, not just visual ones.. Of course there are natural exceptions; e.g., it may be beneficial to use the {{tag|u}} element to indicate something like an example link that isn't really clickable, but underlining is otherwise generally [[UniWiki:Manual of Style/Text formatting#How not to apply emphasis|not used in article text]]. |
=== Users with limited CSS or JavaScript support === | === Users with limited CSS or JavaScript support === | ||
− | + | {{see also|UniWiki:Manual of Style#Scrolling lists and collapsible content}} | |
− | {{see also| | ||
− | + | UniWiki articles should be accessible to readers using browsers and devices that have limited or no support for [[Wikipedia:JavaScript|JavaScript]] or [[Wikipedia:Cascading Style Sheets|Cascading Style Sheets]]; remember that UniWiki content can be reused freely in ways we cannot predict as well as accessed directly via older browsers. At the same time, it is recognized that it is impossible to provide the same quality of appearance to such users without unnecessarily avoiding features that would benefit users with more capable browsers. As such, features that would cause content to be hidden or corrupted when CSS or JavaScript is unavailable must not be used. However, consideration for users without CSS or JavaScript should extend mainly to making sure that their reading experience is ''possible''; it is recognised that it will inevitably be ''inferior''. | |
To accommodate these considerations, test any potentially disruptive changes with JavaScript or CSS disabled. In Firefox or Chrome, this can be done easily with the Web Developer extension; JavaScript can be disabled in IE in the "Options" screen. Be particularly careful with inline CSS effects, which are not supported by several browsers, media, and XHTML versions. | To accommodate these considerations, test any potentially disruptive changes with JavaScript or CSS disabled. In Firefox or Chrome, this can be done easily with the Web Developer extension; JavaScript can be disabled in IE in the "Options" screen. Be particularly careful with inline CSS effects, which are not supported by several browsers, media, and XHTML versions. | ||
== See also == | == See also == | ||
− | + | * [[Wikipedia:Wikipedia:Accessibility dos and don'ts|Wikipedia:Accessibility dos and don'ts]] | |
− | * [[Wikipedia:Accessibility dos and don'ts | + | * [[Wikipedia:Wikipedia:Dyslexic readers|Wikipedia:Dyslexic readers]] |
− | + | * [[Wikipedia:Wikipedia:Make technical articles understandable|Wikipedia:Make technical articles understandable]] | |
− | * [[ | + | * [[Wikipedia:Wikipedia:Using JAWS|Wikipedia:Using JAWS]] |
− | |||
− | |||
− | * [[Wikipedia:Make technical articles understandable]] | ||
− | * [[Wikipedia:Using JAWS | ||
− | |||
− | |||
== References == | == References == | ||
Line 382: | Line 239: | ||
=== Specific === | === Specific === | ||
{{Reflist}} | {{Reflist}} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== External links == | == External links == | ||
Line 413: | Line 244: | ||
* [http://colorfilter.wickline.org/ Colorblind web page filter] | * [http://colorfilter.wickline.org/ Colorblind web page filter] | ||
* [http://www.w3.org/WAI/intro/components.php Essential Components of Web Accessibility], from WAI | * [http://www.w3.org/WAI/intro/components.php Essential Components of Web Accessibility], from WAI | ||
− | * [http://www.w3.org/WAI/intro/accessibility.php Introduction to Web Accessibility], from [[Web Accessibility Initiative|WAI]] | + | * [http://www.w3.org/WAI/intro/accessibility.php Introduction to Web Accessibility], from [[Wikipedia:Web Accessibility Initiative|WAI]] |
* [https://bugzilla.wikipedia.org/show_bug.cgi?id=367 MediaWiki bug 367: Markup accessibility issues (tracking)] | * [https://bugzilla.wikipedia.org/show_bug.cgi?id=367 MediaWiki bug 367: Markup accessibility issues (tracking)] | ||
− | |||
− |
Latest revision as of 18:38, 20 September 2024
Web accessibility is the goal of making web pages easier to navigate and read. While this is primarily intended to assist those with disabilities, it can be helpful to all readers. The following suggestions are based on the Web Content Accessibility Guidelines 2.0 (a.k.a. ISO/IEC 40500:2012). Articles adhering to them are easier to read and edit for everyone.
Article structure
A standardized structure of articles improves accessibility, because it enables users to expect contents to be in a specific part of the page. For example, a blind user is searching for disambiguation links. If he doesn't find any at the top of the page, he will know that there aren't any and he doesn't have to read the whole page to find that out.
The guidelines to follow are UniWiki:Manual of Style/Layout and UniWiki:Manual of Style/Lead section#Elements of the lead.
Headings
Headings should be descriptive and in a consistent order.
Headings should be nested sequentially, starting with level 1 (=
) or level 2 (==
), then level 3 (===
) and so on. Avoid skipping parts of the sequence, such as selecting levels for emphasis; this is not the purpose of headings. The exception to this guideline is when multiple level 2 heading in sequence would unnecessarily break up the page, such as the presence of several short sections in a row.
Do not make pseudo-headings using semicolon markup and try to avoid using bold markup. Screen readers and other machines can only use correctly formatted headings for navigation.
Resolution
UniWiki articles should be accessible to readers using devices with small screens, or to readers using monitors with a low resolution. The lowest resolution that it is considered possible to support without adversely affecting other users is 1024×768; all articles should look acceptable at this resolution without excessive horizontal scrolling. This is sometimes an issue in articles with multiple images on both sides of the screen; although lower resolutions will tend to stretch paragraphs vertically, moving images apart in that direction, be careful not to add images or other floating content on both sides of the screen simultaneously. Large tables and images can also create problems; sometimes horizontal scrolling is unavoidable, but consider restructuring wide tables to extend vertically rather than horizontally.
Text
- See also: UniWiki:Manual of Style/Text formatting
In articles, do not use strikethrough to remove objectionable text. Either comment it out with "<!--" and "-->" or remove it entirely. By default, most screen readers do not indicate presentational text attributes (bold, italic, underline) or even semantic text attributes (emphasis, importance, text deletion), so struck-out text is read normally along with any other text.
Screen readers without Unicode support will generally read a character outside Latin-1 and Windows-1252 as a question mark, and even in JAWS, the most popular screen reader, Unicode characters are very difficult to read.
Do not use unpronounceable symbols such as ♥ (a heart symbol).
Reduced font sizes should be used sparingly. Avoid using smaller font sizes in elements that already use a smaller font size, such as infoboxes, navboxes and reference sections. In no case should the resulting font size drop below 85% of the page fontsize (or 11px).
Links
- Create good link descriptions, especially for external links (avoid "click here!", "this").
- Do not use Unicode characters as icons; use an icon with alt text instead. For example, a character like "→" can not be reproduced into useful text by a screen reader, and will usually be read as a question mark.
Color
Colors are most commonly found in UniWiki articles within templates and tables. For technical assistance on how colors are used, see Wikipedia:Using colors.
Articles (and other pages) that use color should keep accessibility in mind, as follows:
- Ensure that color is not the only method used to convey important information. Especially, do not use colored text or background unless its status is also indicated using another method such as an accessible symbol matched to a legend, or footnote labels. Otherwise, blind users or readers accessing the UniWiki through a printout or device without a color screen will not receive that information.
- Links should clearly be identifiable as a link to our readers.
- Some readers of Wikipedia are partially or fully color-blind. Ensure the contrast of the text with its background reaches at least WCAG 2.0's AA level, and AAA level when feasible (see WCAG's "Understanding SC 1.4.3: Contrast (Minimum)"). Here is a selection of tools that can be used to check that the contrast is correct:
- The Color Contrast Analyser enables you to pick colors on the page, and review their contrast thoroughly. However, be sure to only use the up-to-date "luminosity" algorithm, and not the "color brightness/difference" which is outdated.
- You can also use Snook's color contrast tool, which is entirely up-to-date.
- Several other tools exist on the web, but check if they are up-to-date before using them. Several tools are based on WCAG 1.0's algorithm, while the reference is now WCAG 2.0's algorithm. If the tool doesn't specifically mention that it is based on WCAG 2.0, assume that it is outdated.
- Additional tools can be used to help produce graphical charts and color schemes for maps and the like. These tools are not accurate means to review contrast accessibility, but they can be helpful for specific tasks.
- The color scheme generator helps to choose a good set of colors for a graphical chart.
- Color Brewer 2.0 provides safe color schemes for maps and detailed explanations.
- Colorfilter.wickline.org or vischeck.com are tools for simulating color blind vision.
Block elements
Lists
See also: Wikipedia:Lists
Do not separate list items by leaving empty lines or tabular column breaks between them. This includes items in a description list (a list made with a leading colon) or an unordered list. These excessive double line breaks also disrupt screen readers, which will announce multiple lists when only one was intended, and therefore may mislead or confuse users of these programs. Improper formatting can also more than triple the length of time it takes them to read the list. Likewise, do not switch between list marker types (colons, asterisks or hash signs) in one list, unless embedding lists starting at the highest level.
For example, in a discussion, do this best practice:
* Support. I like this idea. [[User:Example]] ** Question: What do you like about it? [[User:Example 2]]
or this acceptable practice:
* Support. I like this idea. [[User:Example]] *: Question: What do you like about it? [[User:Example 2]]
but don't do this:
* Support. I like this idea. [[User:Example]] :: Question: What do you like about it? [[User:Example 2]]
or this:
* Support. I like this idea. [[User:Example]] ** Question: What do you like about it? [[User:Example 2]]
Indentation
- See also Wikipedia:Indentation
Colons (:) at the start of a line mark that line as part of an HTML definition list. The visual effect in most web browsers is to indent the line. This is used, for example, to indicate replies in a threaded discussion on Talk pages. This is not ideal for accessibility or semantics, but is currently in wide use. Blank lines should not be placed between indented lines of text, as they are interpreted by the software as marking the end of a list and the start of a new one. If a blank line is needed, place the same number of colons on it as those preceding the text below the blank line, for instance:
: Text here. :: :: More text.
Bulleted vertical lists
For bulleted vertical lists, do not separate items by leaving blank lines between them. If list items are separated by more than one line break, the HTML list will be ended before the line break, and another HTML list will be opened after the line break. This effectively breaks what is seen as one list into several smaller lists for those using screen readers. For example, for the coding:
* White rose * Yellow rose * Pink rose * Red rose
the software partially suppresses line spaces and therefore it looks like this:
- White rose
- Yellow rose
- Pink rose
- Red rose
but will be read by a screen reader as: "List of 2 items: (bullet) White rose, (bullet) Yellow rose, list end. List of 1 items: (bullet) Pink rose, list end. List of 1 items: (bullet) Red rose, list end."
Do not separate list items with line breaks (<br>
).
Tables
Screen readers and other web browsing tools make use of specific table tags to help users navigate the data contained within them.
Use the correct wikitable pipe syntax to take advantage of all the features available. See MetaWiki:Tables for more information on the special syntax used for tables. Do not solely use formatting, either from CSS or hard-coded styles, to create semantic meaning (e.g., changing background colour).
Many navboxes, series templates, and infoboxes are made using tables.
Avoid using <br />
tags in adjacent cells to emulate a visual row that isn't reflected in the HTML table structure. This is a problem for users of screen readers which read tables cell by cell, HTML row by HTML row, not visual row by visual row.
Data tables
- See also: Wikipedia:Data tables tutorial
{| |+ [caption text] |- ! scope="col" | [column header 1] ! scope="col" | [column header 2] ! scope="col" | [column header 3] |- ! scope="row" | [row header 1] | [normal cell 1,2] || [normal cell 1,3] |- ! scope="row" | [row header 2] | [normal cell 2,2] || [normal cell 2,3] ... |}
- Caption (
|+
) - A caption is a table's title, describing its nature.
- Row & column headers (
!
) - Like the caption, these help present the information in a logical structure to visitors. The headers help screen readers render header information about data cells. For example, header information is spoken prior to the cell data, or header information is provided on request.
- Scope of headers (
! scope="col" | and ! scope="row" |
) - This clearly identifies headers as either row headers or column headers. Headers can now be associated to corresponding cells.
Wikipedia's data tables tutorial provides detailed requirements about:
- Correct table captions
- Correct headers structure
- Images and color
- Avoiding nested tables
Layout tables
Avoid using tables for layout purposes only. The best option is to use HTML's <div>
blocks and style attributes because they provide flexibility.
For simple layouts, tables can be an option. Especially if the only point of the table is to get a floating effect, then align="right"
etc. will work with some browsers not supporting CSS at all. This is in fact a verbose approximation of <div>
plus CSS, and not the design sin known as (nested) "table layout".
However, to avoid accessibility barriers, when using tables for layout purposes, set a role="presentation"
attribute, and do not use any caption, row, or column headers, and also no summary
attribute. These structural table elements should be used only for data tables. Do not use structural elements for presentation purposes, use style sheets. For Wiki table markup this means to avoid "!" (= <th> in XHTML) in such cases:
{| class="toccolours" style="width:94%" role="presentation" | style="text-align: center; background-color: #ccf;" | '''Title''' |- | [normal cell] || [normal cell] |- | [normal cell] || [normal cell] |}
Images
- Further information: Wikipedia:Alternative text for images, UniWiki:Manual of Style#Images, Wikipedia:Image use policy#Size
- Images should include an alt attribute that acts as a substitute for the image for blind readers, search-spiders, and other non-visual users. If additional alt text is added it should be succinct, or should refer the reader to the caption or adjacent text: see Wikipedia:Alternative text for imates for more information.
- In most cases, images should contain a caption using the built in image syntax. The caption should concisely describe the meaning of the image, the essential information it is trying to convey.
- Where possible, any charts or diagrams should have a text equivalent, or should be well-described so that users who are unable to see the image can gain some understanding of the concept.
- Detailed image descriptions, where not appropriate for an article, should be placed on the image description page, with a note saying that activating the image link will lead to a more detailed description.
- Images should be inside the section they belong to (after the heading and after any links to other articles), and not at the end of the previous section, otherwise screen readers would read the image (and its textual alternative) in a different section; as they would appear to viewers of the mobile site. See Wikipedia:Picture tutorial for more information.
- Avoid referring to images as being on the left or right. Image placement is different for viewers of the mobile version of Wikipedia, and is meaningless to people having pages read to them by assistive software. Instead, use captions to identify images.
Animations, videos and audio
- Further information: Wikipedia:Media help, Wikipedia:Creation and usage of media files
Animations
To be accessible, an animation (GIF – Graphics Interchange Format) should either:
- Not exceed a duration of five seconds (which results in making it a purely decorative element), or
- Be equipped with control functions (stop, pause, play)
This requires GIFs with animations longer than five seconds to be converted to video (to learn how, see the tutorial converting animated GIFs to Theora OGG).
In addition, animations must not produce more than three flashes in any one-second period. Content that flashes more than that limit is known to cause seizures.
Video
Subtitles can be added to video, in Timed Text format. There is a corresponding help page at WikiMedia Commons:Video#Subtitles and closed captioning. Subtitles are meant for the transcription of speech.
There is a need for Wikipedia:Closed captions:closed captions for the hearing impaired. As of December 2016 this is not possible, but this feature could be added in the future. Closed captions are meant to be viewed instead of subtitles. Closed captions provide a text version of all important information provided through the sound. It can include dialogue, sounds (natural and artificial), the setting and background, the actions and expressions of people and animals, text or graphics. Off-UniWiki guides should be consulted for how to create closed captions.[1]
A text version of the video would also be needed for the blind, but as of December 2016 there is no convenient way to provide alt text for videos.
Audio
Subtitles for speech, lyrics, dialogue, etc. can easily be added to audio files. The method is similar to that of the video: WikiMedia Commons:Video#Subtitles and closed captioning.
Styles and markup options
Best practice: Use Wikimarkup and CSS classes in preference to alternatives
In general, styles for tables and other block-level elements should be set using CSS classes, not with inline style attributes. It allows users with very specific needs to change the color schemes in their browser's style sheet. For example, a style sheet at Wikipedia:Style sheets for visually impaired users provides higher contrast backgrounds for navboxes. The problem is that when the default site-wide classes are overridden, it makes it far more difficult for an individual to choose his/her own theme.
It also creates a greater degree of professionalism by ensuring a consistent appearance between articles and conformance to a style guide.
Regarding accessibility, deviations from standard conventions may be tolerated so long as they are accessible. If some template or specific color scheme deviates from the standard, its authors should make sure that it meets accessibility requirements such as providing enough color contrast. For instance, the infoboxes and navigational templates relating to The Simpsons use a yellow colour scheme, to tie in with the dominant colour in the series. In this case, blue links on yellow provides enough colour contrast, and thus is accessible.
In general, articles should use Wikimarkup in preference to the limited set of allowed HTML elements. In particular, do not use the HTML style elements <i>
and <b>
to format text; it is preferable to use Wiki-markup ''
or '''
for purely typographic italicisation and boldfacing, respectively, and use semantic markup templates or elements for more meaningful differences. The <font>
element should also be avoided in article text to emphasise logical differences, not just visual ones.. Of course there are natural exceptions; e.g., it may be beneficial to use the <u>...</u>
element to indicate something like an example link that isn't really clickable, but underlining is otherwise generally not used in article text.
Users with limited CSS or JavaScript support
UniWiki articles should be accessible to readers using browsers and devices that have limited or no support for JavaScript or Cascading Style Sheets; remember that UniWiki content can be reused freely in ways we cannot predict as well as accessed directly via older browsers. At the same time, it is recognized that it is impossible to provide the same quality of appearance to such users without unnecessarily avoiding features that would benefit users with more capable browsers. As such, features that would cause content to be hidden or corrupted when CSS or JavaScript is unavailable must not be used. However, consideration for users without CSS or JavaScript should extend mainly to making sure that their reading experience is possible; it is recognised that it will inevitably be inferior.
To accommodate these considerations, test any potentially disruptive changes with JavaScript or CSS disabled. In Firefox or Chrome, this can be done easily with the Web Developer extension; JavaScript can be disabled in IE in the "Options" screen. Be particularly careful with inline CSS effects, which are not supported by several browsers, media, and XHTML versions.
See also
- Wikipedia:Accessibility dos and don'ts
- Wikipedia:Dyslexic readers
- Wikipedia:Make technical articles understandable
- Wikipedia:Using JAWS