Skip to content

Commit

Permalink
Merge pull request ILIAS-eLearning#491 from Amstutz/accessibility_gui…
Browse files Browse the repository at this point in the history
…delines

Docs: Introduction of accessibility guidelines
  • Loading branch information
Amstutz authored Apr 20, 2017
2 parents 88787d1 + 9cf7bc9 commit 0647b7c
Showing 1 changed file with 221 additions and 0 deletions.
221 changes: 221 additions & 0 deletions docs/documentation/accessibility.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,221 @@
# Accessibility Guidelines

According the [Strategy 2017](http://www.ilias.de/docu/goto_docu_file_5585_download.html)
ILIAS aims to to be "Usable for Everyone" including users with special needs.
ILIAS therefore aims to conform with WCAG (Web Content Accessibility Guidelines) 2.0 on
conformance level A (see [https://www.w3.org/TR/WCAG20/](https://www.w3.org/TR/WCAG20/)
). WCAGs "cover a wide range of recommendations for making Web content more accessible"
. They claim that "following these guidelines will make content accessible to a
wider range of people with disabilities, including blindness and low vision, deafness
and hearing loss, learning disabilities, cognitive limitations, limited movement,
speech disabilities, photosensitivity and combinations of these". The base guideline
concerning accessibility in ILIAS is therefore:

- HTML-Output generated by ILIAS **MUST** comply with all WCAG 2.0 level A.

Note: In several scenarios, developers can make not guarantees/statements, whether
those guidelines are met by user generated content (such as uploaded videos or files).
However, developers SHOULD make a best effort, to support users in generating only
content that meets the listed guidelines.

The WCAG are structured by four principles that provide the foundation for Web
accessibility: perceivable, operable, understandable, and robust. In the following
sections we list all WCAG 2.0 level A guidelines we believe to have potential
consequences on developing ILIAS. Note that they are originate from:
[WCAG 2.0](https://www.w3.org/TR/WCAG20/). If unsure on how to
meet some criteria, one can consult [How to Meet WCAG 2.0](https://www.w3.org/WAI/WCAG20/quickref/).

### Principle 1: Perceivable
Information and user interface components must be presentable to users in ways they can perceive.

#### Guideline 1.1 Text Alternatives
Provide text alternatives for any non-text content so that it can be changed into other
forms people need, such as large print, braille, speech, symbols or simpler language.

- **Non-text Content**: All non-text content that is presented to the user has a text
alternative that serves the equivalent purpose, except for the situations listed below:

- **Controls, Input**: If non-text content is a control or accepts user input, then it
has a name that describes its purpose.

- **Time-Based Media**: If non-text content is time-based media, then text alternatives
at least provide descriptive identification of the non-text content.

- **CAPTCHA**: If the purpose of non-text content is to confirm that content is being
accessed by a person rather than a computer, then text alternatives that identify and
describe the purpose of the non-text content are provided, and alternative forms of
CAPTCHA using output modes for different types of sensory perception are provided to
accommodate different disabilities.

- **Decoration, Formatting, Invisible**: If non-text content is pure decoration, is used
only for visual formatting, or is not presented to users, then it is implemented in a
way that it can be ignored by assistive technology. Note: According to the WAI,
decorative images don’t add information to the content of a page. For example, the
information provided by the image might already be given using adjacent text, or the
image might be included to make the website more visually attractive
[https://www.w3.org/WAI/tutorials/images/decorative/](https://www.w3.org/WAI/tutorials/images/decorative/).

#### Guideline 1.2 Time-based Media
Provide alternatives for time-based media.

- **Captions (Prerecorded)**: Captions are provided for all prerecorded audio content in
synchronized media, except when the media is a media alternative for text and is
clearly labeled as such. (Level A)

#### Guideline 1.3 Adaptable
Create content that can be presented in different ways (for example simpler layout)
without losing information or structure.

- **Info and Relationships**: Information, structure, and relationships conveyed through
presentation can be programmatically determined or are available in text.

- **Meaningful Sequence**: When the sequence in which content is presented affects its
meaning, a correct reading sequence can be programmatically determined.

- **Sensory Characteristics**: Instructions provided for understanding and operating
content do not rely solely on sensory characteristics of components such as shape,
size, visual location, orientation, or sound.


#### Guideline 1.4 Distinguishable
Make it easier for users to see and hear content including separating foreground from background.

- **Use of Color**: Color is not used as the only visual means of conveying information,
indicating an action, prompting a response, or distinguishing a visual element.

- **Audio Control**: If any audio on a Web page plays automatically for more than 3
seconds, either a mechanism is available to pause or stop the audio, or a mechanism is
available to control audio volume independently from the overall system volume level.


### Principle 2: Operable
User interface components and navigation must be operable.

#### Guideline 2.1 Keyboard Accessible
Make all functionality available from a keyboard.

- **Keyboard**: All functionality of the content is operable through a keyboard interface
without requiring specific timings for individual keystrokes, except where the
underlying function requires input that depends on the path of the user's movement and
not just the endpoints. This exception relates to the underlying function, not the
input technique. For example, if using handwriting to enter text, the input technique
(handwriting) requires path-dependent input but the underlying function (text input)
does not. This does not forbid and should not discourage providing mouse input or
other input methods in addition to keyboard operation.

- **No Keyboard Trap**: If keyboard focus can be moved to a component of the page using a
keyboard interface, then focus can be moved away from that component using only a
keyboard interface, and, if it requires more than unmodified arrow or tab keys or other
standard exit methods, the user is advised of the method for moving focus away. Note:
Since any content that does not meet this success criterion can interfere with a
user's ability to use the whole page, all content on the Web page (whether it is used
to meet other success criteria or not) must meet this success criterion.


#### Guideline 2.2 Enough Time
Provide users enough time to read and use content.

- **Timing Adjustable**: For each time limit that is set by the content, **at least one** of the following is true:

- **Turn off**: The user is allowed to turn off the time limit before encountering it; or

- **Adjust**: The user is allowed to adjust the time limit before encountering it over a
wide range that is at least ten times the length of the default setting; or

- **Extend**: The user is warned before time expires and given at least 20 seconds to
extend the time limit with a simple action (for example, "press the space bar"), and
the user is allowed to extend the time limit at least ten times; or

- **Real-time Exception**: The time limit is a required part of a real-time event (for
example, an auction), and no alternative to the time limit is possible; or

- **Essential Exception**: The time limit is essential and extending it would invalidate
the activity; or

- **20 Hour Exception**: The time limit is longer than 20 hours.

- **Pause, Stop, Hide**: For moving, blinking, scrolling, or auto-updating information,
**all of the following** are true:

- **Moving, blinking, scrolling**: For any moving, blinking or scrolling information that
(1) starts automatically, (2) lasts more than five seconds, and (3) is presented in
parallel with other content, there is a mechanism for the user to pause, stop, or
hide it unless the movement, blinking, or scrolling is part of an activity where it
is essential; and

- **Auto-updating**: For any auto-updating information that (1) starts automatically and
(2) is presented in parallel with other content, there is a mechanism for the user to
pause, stop, or hide it or to control the frequency of the update unless the
auto-updating is part of an activity where it is essential.

#### Guideline 2.3 Seizures
Do not design content in a way that is known to cause seizures.

- **Three Flashes or Below Threshold**: Web pages do not contain anything that flashes more
than three times in any one second period, or the flash is below the general flash
and red flash thresholds.

#### Guideline 2.4 Navigable
Provide ways to help users navigate, find content, and determine where they are.

- **Bypass Blocks**: A mechanism is available to bypass blocks of content that are repeated
on multiple Web pages.

- **Page Titled**: Web pages have titles that describe topic or purpose.

- **Focus Order**: If a Web page can be navigated sequentially and the navigation sequences
affect meaning or operation, focusable components receive focus in an order that
preserves meaning and operability.

- **Link Purpose (In Context)**: The purpose of each link can be determined from the link
text alone or from the link text together with its programmatically determined link
context, except where the purpose of the link would be ambiguous to users in general.

### Principle 3: Understandable
Information and the operation of user interface must be understandable.

#### Guideline 3.1 Readable
Make text content readable and understandable.

- **Language of Page**: The default human language of each Web page can be programmatically determined.

#### Guideline 3.2 Predictable
Make Web pages appear and operate in predictable ways.

- **On Focus**: When any component receives focus, it does not initiate a change of context.

- **On Input**: Changing the setting of any user interface component does not automatically
cause a change of context unless the user has been advised of the behavior before
using the component.

#### Guideline 3.3 Input Assistance
Help users avoid and correct mistakes.

- **Error Identification**: If an input error is automatically detected, the item that is
in error is identified and the error is described to the user in text.

- **Labels or Instructions**: Labels or instructions are provided when content requires user input.


### Principle 4: Robust
Content must be robust enough that it can be interpreted reliably by a wide variety of
user agents, including assistive technologies.

#### Guideline 4.1 Compatible
Maximize compatibility with current and future user agents, including assistive technologies.

- **Parsing**: In content implemented using markup languages, elements have complete start
and end tags, elements are nested according to their specifications, elements do not
contain duplicate attributes, and any IDs are unique, except where the specifications
allow these features. Start and end tags that are missing a critical character in their
formation, such as a closing angle bracket or a mismatched attribute value quotation mark are not complete.

- **Name, Role, Value**: For all user interface components (including but not limited to:
form elements, links and components generated by scripts), the name and role can be
programmatically determined; states, properties, and values that can be set by the user
can be programmatically set; and notification of changes to these items is available
to user agents, including assistive technologies. This success criterion is primarily
for Web authors who develop or script their own user interface components. For
example, standard HTML controls already meet this success criterion when used according
to specification.

0 comments on commit 0647b7c

Please sign in to comment.