WCAG-A Summary
Perceivable
Text Alternatives
-
1.1.1 Non-text Content (level A):
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. (Refer to Guideline 4.1 for additional requirements for controls and content that accepts user input.)
- Time-based Media: If non-text content is time-based media, then text alternatives at least provide descriptive identification of the non-text content. (Refer to Guideline 1.2 for additional requirements for media.)
- Test: If non-text content is a test or exercise that would be invalid if presented in text, then text alternatives at least provide descriptive identification of the non-text content.
- Sensory: If non-text content is primarily intended to create a specific sensory experience, 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.
Some inappropriately described images are present, for example on the front page and profile page.
Some form fields are not described, including at log in and submitting exercises.
Time-based Media
-
1.2.1 Audio-only and Video-only (Prerecorded) (level A):
For prerecorded audio-only and prerecorded video-only media, the following are true, except when the audio or video is a media alternative for text and is clearly labeled as such.
- Prerecorded Audio-only: An alternative for time-based media is provided that presents equivalent information for prerecorded audio-only content.
- Prerecorded Video-only: Either an alternative for time-based media or an audio track is provided that presents equivalent information for prerecorded video-only content.
-
1.2.2 Captions (Prerecorded) (level A):
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.
-
1.2.3 Audio Description or Media Alternative (Prerecorded) (level A):
An alternative for time-based media or audio description of the prerecorded video content is provided for synchronized media, except when the media is a media alternative for text and is clearly labeled as such.
No time-based media features in the sample checked (nor anywhere in the platform outside of course-specific content).
Adaptable
-
1.3.1 Info and Relationships (level A):
Information, structure, and relationships conveyed through presentation can be programmatically determined or are available in text.
There are many cases of mislabelled forms, as covered on Form Controls, and missed or misordered heading levels, as mentioned in Semantic Markup and Sequences
-
1.3.2 Meaningful Sequence (level A):
When the sequence in which content is presented affects its meaning, a correct reading sequence can be programmatically determined.
The DOM order does not match the reading order in the profile page, and may be broken in some exercises.
-
1.3.3 Sensory Characteristics (level A):
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.
No problems with sensory characteristics were found.
Distinguishable
-
1.4.1 Use of Color (level A):
Color is not used as the only visual means of conveying information, indicating an action, prompting a response, or distinguishing a visual element.
No information on the pages checked was conveyed using only colour.
-
1.4.2 Audio Control (level A):
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.
No audio is used in the platform, and this audit did not consider specific courses.
Operable
Keyboard Accessible
-
2.1.1 Keyboard (level A):
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.
The modals displayed when submitting an assignment are not easily keyboard or screen reader accessible.
-
2.1.2 No Keyboard Trap (level A):
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.
There was no keyboard trap found on any of the pages.
-
2.1.4 Character Key Shortcuts (level A):
If a keyboard shortcut is implemented in content using only letter (including upper- and lower-case letters), punctuation, number, or symbol characters, then at least one of the following is true:
- Turn off: A mechanism is available to turn the shortcut off;
- Remap: A mechanism is available to remap the shortcut to use one or more non-printable keyboard characters (e.g. Ctrl, Alt, etc);
- Active only on focus: The keyboard shortcut for a user interface component is only active when that component has focus.
No character key shortcuts are used.
Enough Time
-
2.2.1 Timing Adjustable (level A):
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.
-
2.2.2 Pause, Stop, Hide (level A):
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.
The only time limit is the session duration, after which the user is logged out. From inspection of the code, this appears to be around two weeks. This passes the requirements, as it is above the 20 hour exception.
Seizures and Physical Reactions
-
2.3.1 Three Flashes or Below Threshold (level A):
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.
Nothing flashing is present on any of the audited pages.
Navigable
-
2.4.1 Bypass Blocks (level A):
A mechanism is available to bypass blocks of content that are repeated on multiple Web pages.
Skip links are not present, but currently a work in progress.
-
2.4.2 Page Titled (level A):
Web pages have titles that describe topic or purpose.
Page titles are present and descriptive. Page Titles includes notes on possible improvements.
-
2.4.3 Focus Order (level A):
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.
The focus order is not always logical.
-
2.4.4 Link Purpose (In Context) (level A):
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.
Many pages have inditinguishable link text or non-specific text. For example, the course points page includes the link text “1/5”, referring to a submission count, many times.
Understandable
Readable
-
3.1.1 Language of Page (level A):
The default human language of each Web page can be programmatically determined.
The language of the page is stated correctly.
Predictable
-
3.2.1 On Focus (level A):
When any component receives focus, it does not initiate a change of context.
A focus state is implemented on master
, but is not yet in production.
Input Assistance
-
3.3.1 Error Identification (level A):
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.
-
3.3.2 Labels or Instructions (level A):
Labels or instructions are provided when content requires user input.
Labels are not always present or visible. It is not possible to always ascertain the label visually or programatically.
Robust
Compatible
-
4.1.1 Parsing (level A):
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.
-
4.1.2 Name, Role, Value (level A):
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.
HTML is generally valid, although some views include repeated IDs.
Roles of button
and link
appear unpredictably and inconsistently. Links and Buttons explains more.