This is going to be a tracker for all issues covering (not just obeying) WCAG 2.0 conformance, sorted by WCAG 2.0 norm.
This tracker should help us achieve the stated goal of WCAG 2.0 and ATAG 2.0 level AA conformity for Drupal core.
Please help adding relevant, preexisting issues to this list or create. You can also create a sub-meta-issue for a guideline, if you sufficiently embraced it and continue to care of it - too many stale issue stubs would end up being unmanageable!
WCAG 2.0 Guidelines
1 Perceivable
1.1 Text Alternatives
#2034999: [meta] Comply with WCAG 1.1: Text Alternatives
#952964: String stripped from title and alt attribute if contains a colon
#1849712: Add theming template and prepare logic for rendering icons
1.2 Time-based Media
1.2.1 (A) Audio-only and Video-only (Prerecorded)
1.2.2 (A) Captions (Prerecorded)
1.2.3 (A) Audio Description or Media Alternative (Prerecorded)
1.2.4 (AA) Captions (Live)
1.2.5 (AA) Audio Description (Prerecorded)
1.2.6 (AAA) Sign Language (Prerecorded)
1.2.7 (AAA) Extended Audio Description (Prerecorded)
1.2.8 (AAA) Media Alternative (Prerecorded)
1.2.9 (AAA) Audio-only (Live)
1.3 Adaptable
1.3.1 (A) Info and Relationships
#1638078: [meta] Simplify complex form elements where possible
#864006: Improve table semantics by adding scope or headers/id attributes
#1734716: File field form label has incorrect id in @for attribute
#933004: Test that all form elements have a title for accessibility
#1918994: Improve Datetime and Daterange Widget accessibility
#504962: Provide a compound form element with accessible labels
#514008: Allow HTML headings in default Filtered HTML text format
#1106344: Taxonomy term reference field headers always should be rendered with a HTML header (invisible or not)
#1966990: Forms API drupal_process_states() hidden content is not visible to screen readers
#2192419: Use a WCAG-compliant fieldset (fieldgroup) for #type radios/checkboxes
1.3.2 (A) Meaningful Sequence
1.3.3 (A) Sensory Characteristics
1.4 Distinguishable
1.4.1 (A) Use of Color
#890362: Links should not be indicated by color only
#1910350: Simpletest relies on color to convey failed tests
1.4.2 (A) Audio Control
#1872206: Improve CKEditor toolbar configuration accessibility
1.4.3 (AA) Contrast (Minimum)
#134359: Warn users about contrast problems when using the color module
#1858206: Dropbutton background with gradient does not meet WCAG AA standard
#134359: Warn users about contrast problems when using the color module
#740756: Ensuring Proper Color Contrast for Seven
#2053145: Link color does not meet WCAG AA contrast ratio in header
1.4.4 (AA) Resize text
1.4.5 (AA) Images of Text
1.4.6 (AAA) Contrast (Enhanced)
1.4.7 (AAA) Low or No Background Audio
1.4.8 (AAA) Visual Presentation
1.4.9 (AAA) Images of Text (No Exception)
2.1 Keyboard Accessible
2.1.1 (A) Keyboard
2.1.2 (A) No Keyboard Trap
2.1.3 (AAA) Keyboard (No Exception)
2.2 Enough Time
#2036311: [meta] Comply with WCAG guideline 2.2: Enough Time
2.3 Seizures
#2036293: [meta] Comply with WCAG guideline 2.3: Seizures
2.4 Navigable
#1854030: Add hint to translation settings page when tables appear off screen
#1645420: Use @aria-describedby for fieldset descriptions
#1904912: Display updating Javascript triggered in Format string of date formats interfers with keyboard navigation
#1921218: Deal with tabbing elements that are added to the page after it has been constrained
#1101600: Users need to be able to select from list when adding menu items to a menu
2.4.1 (A) Bypass Blocks
2.4.2 (A) Page Titled
2.4.3 (A) Focus Order
#1913086: Generalize the overlay tabbing management into a utility library
2.4.4 (A) Link Purpose (In Context)
#1136680: #type 'more_link' - previously theme_more_link() - should have more context
2.4.5 (AA) Multiple Ways
2.4.6 (AA) Headings and Labels
#1932074: Tags Includes Label which isn't Associated with an Input Form
2.4.7 (AA) Focus Visible
#1993574: Add focus styling to all interactive elements
2.4.8 (AAA) Location
2.4.9 (AAA) Link Purpose (Link Only)
2.4.10 (AAA) Section Headings
#514008: Allow HTML headings in default Filtered HTML text format
3.1 Readable
3.1.1 (A) Language of Page
3.1.2 (AA) Language of Parts
#1323338: [meta] Conform to WCAG Success Criterion 3.1.2: Language of Parts
#1854046: Add "changed" hints to translation settings page
#1855036: ARIA and accessibility improvements in entity (content) translation settings page
3.1.3 (AAA) Unusual Words
3.1.4 (AAA) Abbreviations
3.1.5 (AAA) Reading Level
3.1.6 (AAA) Pronunciation
3.2 Predictable
3.2.1 (A) On Focus
3.2.2 (A) On Input
3.2.3 (AA) Consistent Navigation
#1913086: Generalize the overlay tabbing management into a utility library
#1811240: Improve "password matches" and "password strength" accessibility
#1079010: The secondary links heading, "Secondary menu", is wrong
#1848940: When enabling or disabling a View, don't move the cursor to the top of the page
#1824636: Do not move the cursor to the top of the page on ajax calls
3.2.4 (AA) Consistent Identification
3.2.5 (AAA) Change on Request
3.3 Input Assistance
3.3.1 (A) Error Identification
#742344: Allow forms to set custom validation error messages on required fields
#1797438: HTML5 validation is preventing form submit and not fully accessible
3.3.2 (A) Labels or Instructions
#314385: Make position of #description configurable via the API
3.3.3 (AA) Error Suggestion
3.3.4 (AA) Error Prevention (Legal, Financial, Data)
3.3.5 (AAA) Help
3.3.6 (AAA) Error Prevention (All)
4.1 Compatible
#2035139: [meta] Comply with WCAG guideline 4.1: Compatibility
(see latest version of: Understanding WCAG 2.0)
See also:
| Comment | File | Size | Author |
|---|---|---|---|
| #15 | Drupal8_Authoring_Violations.ppt | 477.5 KB | sdewitt |
Comments
Comment #1
panchoAdding tags.
Comment #1.0
panchoadd A - AAA level tag to each guideline and strikethrough all AAA level guidelines
Comment #1.1
panchoadd link to the ATAG 2.0 tracker
Comment #1.2
panchoAdd #2034999: [meta] Comply with WCAG 1.1: Text Alternatives in 1.1
Comment #2
mgiffordThis is great. Let's have this discussion here for D8 in this tread.
I had started a list for D7 a while ago here that 'm just including for reference https://groups.drupal.org/node/18595
Also, for D7 there was a discussion here that might be worth reviewing https://drupal.org/node/947988
Comment #3
pancho@migifford:
Thanks! Yes it's too bad we don't have g.d.o's possibility here in the issue queue (or at least the docs area) or the other way around, but we might come up with some kind of tightly integrated combination of issues in the queue and documentation somewhere else.
Finally the queue is where the actual work happens. Also, even if we got everything evaluated and fixed, we need to track and fix regressions.
So, as you said in the other issue, this is just a starter that needs to change and improve and turn into something better.
I believe we also need some concise explanation about what WCAG is and what ATAG is, how they're different and how they're connected, and which applies to what.
Comment #3.0
panchoadd #2035139: [meta] Comply with WCAG guideline 4.1: Compatibility to 4.1, reword help info
Comment #3.1
mgiffordfocus order
Comment #3.2
mgiffordcolor & focus
Comment #3.3
mgiffordus of images with links
Comment #3.4
mgiffordConsistent navigation
Comment #3.5
panchoReplaced individual "language of parts" issues by meta: #1323338: [meta] Conform to WCAG Success Criterion 3.1.2: Language of Parts
Comment #3.6
panchoAdded #2036293: [meta] Comply with WCAG guideline 2.3: Seizures to guideline 2.3
Comment #3.7
panchoReplace individual guidelines by #2036311: [meta] Comply with WCAG guideline 2.2: Enough Time
Comment #3.8
mgiffordUpdated issue summary.
Comment #3.9
mgiffordUpdated issue summary.
Comment #3.10
mgiffordadding 999338
Comment #3.11
panchoreword notice
Comment #3.12
panchoRemove individual issues that are covered in a sub-meta.
Comment #3.13
panchoAdded #514008: Allow HTML headings in default Filtered HTML text format to 1.3.1 and 2.4.10
Comment #3.14
mgiffordmore lists
Comment #3.15
mgiffordmore issues.
Comment #3.16
panchoAdded #314385: Make position of #description configurable via the API to 3.3.2
Comment #3.17
mgiffordupdate including #314385: Make position of #description configurable via the API as we were editing the same file at the same time.
Comment #3.18
mgiffordadding #1079010: The secondary links heading, "Secondary menu", is wrong
Comment #3.19
mgiffordadding 1849712
Comment #3.20
mgifforderror identification 1797438
Comment #3.21
mgifforduse of color 1910350
Comment #3.22
mgiffordUpdated issue summary for 1966990
Comment #3.23
mgiffordadding 1904912
Comment #3.24
mgiffordUpdated issue summary adding 1921218
Comment #3.25
mgiffordadding 1101600
Comment #3.26
mgiffordadding #1848940: When enabling or disabling a View, don't move the cursor to the top of the page #1824636: Do not move the cursor to the top of the page on ajax calls
Comment #3.27
dead_armAdd Seven color contrast issue to list.
Comment #4
idebr commentedComment #6
edurenye commentedUsing the admin theme I found 3 WCAG errors:
1. The navigation landmark must only contain region or search landmarks.
2. All content must be contained in landmarks (This is the link to main content, another accessibility rule, that must be on top, but according to this, I think it should be inside a div or something).
3. Text content must exceed Color Contrast Ratio (CCR) of 3.1. The navigation tabs in the admin theme do not apply this.
And 1 warning:
1. First landmark heading H2.
Comment #7
mgifford@edurenye can you give us a bit more. Of the 3 issues you found, did you search to see if there was already an open issue for them?
How did you find the errors? Was this through an automated test?
Can you let us know what piece of WCAG they violate?
Just trying to take this comment and break it down into separate issues so that they can be replicated & resolved.
Comment #9
andrewmacpherson commentedRe: #6
These sound like they are recommendations from some testing tool. As @mgifford says, I'd like to know which one.
This isn't a WCAG requirement, and it isn't mentioned in the ARIA 1.0 recommendation (at least not in the landmarks section). It would be good to know which landmarks it's complaining about, to see if there is anything unusual going on. It's possible we have some quirky pattern which could be improved.
I think this is a great idea, and I would love us to arrange things this way. However it's not a failure of WCAG as such.
This sounds straight forward enough, we can test that and correct it if needs be. I'd prefer 1:4.5 though.
Can you tell us which page you found this one on?
Using landmarks isn't a requirement of WCAG at all; just a great way to satisfy SC 1.3.1 Info and Relationships and SC 2.4.1 Bypass Blocks.
The skip-to-main-content link is a red herring here. I suppose we could wrap it in a navigation landmark but that seems like overkill to me. If you know how to use your landmark navigation tools (typically implying a screen reader), then you don't need the skip link, and won't suffer from not finding it inside a landmark region. The skip link mainly benefits sighted keyboard users, who don't have tools to find landmark regions.
Comment #10
andrewmacpherson commentedAfter a bit of Googling, it looks like these error phrases come from the Functional Accessibility Evaluator ruleset from CITA. I'm aware of this checker, though I haven't studied it in depth before.
The landmark rules mentioned are:
So this isn't a set of WCAG failures exactly - my understanding is that FAE is like a set of house rules intended to meet WCAG.
It might be worth going through the FAE rules so see how closely Drupal meets them, and maybe we'll find some good ideas there. I don't think we should expend effort on satisfying every testing tool we encounter though.
Comment #11
andrewmacpherson commentedAha, this is fantastically informative:
Review of Open Ajax Aliance (OAA) RuleSet for WCAG conformance
It seems that the FAE was developed to test WCAG, and the W3C in turn may have used it to inform the "Understanding SC x.y.z" documents. There's no date on the document :-(
Comment #14
sdewitt commentedIn a recent review of our authoring experience using the IBM DAP plugin, we found some legitimate contrast issues with the admin primary tabs. In particular the inactive tabs only have a contrast ratio of 4.21:1. I have included screenshots of the tabs in question, the DOM elements involved, and the DAP message.
We have found some additional issues as well. I have put them altogether with the original report in a PPT. I will also try to update the item list above.
Comment #15
sdewitt commentedComment #16
andrewmacpherson commentedThanks for these reports @sdewitt. I've seen the individual issues you've filed for these.
Most of them should be very easy to fix with little impact on the design.
Comment #26
smustgrave commentedPosted this in #accessibility channel and @mgifford mentioned this can be closed as there are better ways of tracking conformance now