Giter VIP home page Giter VIP logo

wcag's Introduction

WCAG (Web Content Accessibility Guidelines) - Branch for production of August 2016 review versions

Please use this branch as the target for pull requests until July 10, 2016.

This repository is used to develop content for WCAG 2, as well as associated understanding documents and techniques.

Editorial style guide

@@To complete

  • Avoid use of RFC2119 terms such as "must", "shall", or "may" in non-normative content, to avoid confusion with normative role.

File Structure

WCAG 2.0 was maintained in a different file structure than subsequent versions of WCAG. Source files for WCAG 2.0 are in the wcag20 folder and exists primarily for archival purposes. Do not edit content in that folder.

Content for WCAG 2.1 and later is organized accordign to the file structure below. The WCAG repository contains source and auxiliary files for WCAG 2, Understanding WCAG 2, and eventually techniques. It also contains auxiliary files that support automated formatting of the document. To facilitate multi-party editing, each success criterion is in a separate file, consisting of a HTML fragment that can be included into the main guidelines. Key files include:

  • guidelines/index.html - the main guidelines file
  • guidelines/sc//*.html - files for each success criterion
  • guidelines/terms//*.html - files for each definition
  • understanding//*.html - understanding files for each success criterion

Where is "20", content came from WCAG 2.0. "21" is used for content introduced in WCAG 2.1, "22" for WCAG 2.2, etc.

Editing Draft Success Criteria

Success Criteria Managers will prepare candidate success criteria, ready for inclusion in the guidelines document. To prepare success criteria, follow these steps:

  1. Clone the repository, using the URI https://github.com/w3c/wcag.git to clone.
  2. Switch to the working branch for the proposal, which is named for the shortname of the draft success criterion and the issue number, concatenated together.
  3. Find the appropriate file for the success criterion in the guidelines/sc/21 folder, named the same as the start of the branch name, and open in an HTML-capable editor. Do the same with any definitions referenced by the success criterion, in the guidelines/terms/21 folder.
  4. Open the guidelines/index.html file and remove comment marks around the lines that reference the success criterion and terms you have edited..
  5. Follow the success criteria format below to create the SC content.
  6. Save the file and commit the change. NOTE: It is important to also add a suitable 'commit message'. In the comments, reference the issue number from which the proposal was developed starting with a hash, e.g., #1.
  7. When the success criterion is ready for Working Group review, inform the chairs. Once the proposal has been accepted by the Working Group, the editors will merge the working branch into the master branch, which puts it in the editors' draft and eventual Technical Report publication.

Success Criteria Format

Success criteria use a simple structure of HTML elements, with a few class attribute values, to ensure consistency. Enhancement scripts and style key off this structure. Content you provide is indicated in braces. Items after comments are optional.

<section class="sc">
	<h4>{SC Handle}</h4>
	<p class="conformance-level">{Level}</p>
	<p class="change">{Change}</p>
	<p>{Main SC Text}</p>
	<!-- if SC has sub-points -->
	<dl>
		<dt>{Point Handle}</dt>
		<dd>{Point Text}</dd>
	</dl>
	<!-- if SC has notes -->
	<p class="note">{Note}</p>
</section>

Note you do not provide the SC number. Numbers will be assigned, and most likely automatically generated, later.

Values you provide are described below. Refer to Success Criterion 2.2.1 for an example of each of these pieces of content.

{SC Handle}
The short name of the SC. In SC 2.2.1 this is "Timing Adjustable".
{Level}
The conformance level of the SC. Values can be "A", "AA", or "AAA". Do not include the word "Level".
{Change}
Indicate whether the SC is unchanged from WCAG 2.0, changed, or new. Values can be "Unchanged", "Changed", or "New".
{Main SC Text}
The main text of the SC, or the starting paragraph. In SC 2.2.1 this is the content that begins "For each time limit...".
{Point Handle}
If the SC has bullets, each bullet has a handle. In SC 2.2.1 the first bullet point handle is "Turn off".
{Point Text}
The content of the bullet. In SC 2.2.1 the first bullet point text begins "The user is allowed...".
{Note}
If there is a note to the SC, provide it after the other content (without the starter "Note"). In SC 2.2.1, this is the content that begins "This success criterion...". If there is more than one note, multiple `

`elements may be provided.

Definitions

If you providing term definitions along with your SC, include them in the glossary. Position them in the appropriate alphabetical order with the rest of the terms and use the following format:

<dt><dfn>{Term}</dfn></dt>
<dd>{Definition}</dd>

The dfn element tells the script that this is a term and causes special styling and linking features. To link to a term, use an <a> element without an href attribute; if the link text is the same as the term, the link will be correctly generated. For example, if there is a term <dfn>web page</dfn> on the page, a link in the form of <a>web page</a> will result in a proper link. If the link text has a different form from the canonical term, e.g., "web pages" (note the plural), you can provide a hint on the term definition with the data-lt attribute. In this example, modify the term to be <dfn data-lt="web pages">web page</dfn>. Multiple alternate names for the term can be separated with pipe characters, with no leading or trailing space, e.g., <dfn data-lt="web pages|page|pages">web page</dfn>.

Editing Draft Understanding Content

There is one Understanding file per success criterion, plus an index:

  • understanding/index.html - index page, need to uncomment or add a reference to individual Understanding pages as they are made available
  • understanding//*.html - files for each understanding page, named the same as the success criterion file in the guidelines

Files are populated with a template that provides the expected structure. Leave the template structure in place, and add content as appropriate within the sections. Elements with class="instructions" provide guidance about what content to include in that section; you can remove those elements if you want but don't have to. The template for examples proposes either a bullet list or a series of sub-sections, choose one of those approaches and remove the other from the template. The template for techniques includes sub-sections for "situations", remove that wrapper section if not needed.

Understanding files are referenced from the relevant Success Criterion on the WCAG specification; these links are put in by the script.

The formal publication location for Understanding pages is currently https://www.w3.org/WAI/WCAG21/Understanding/. This content is updated as needed; and may be automated.

Editing Techniques

Techniques are in the techniques folder, and grouped by technology into sub-folders. Each technique is a standalone file, which is in HTML format with a regular structure of elements, classes, and ids.

Technique File Structure

The technique template shows the structure of techniques. Main sections are in top-level <section> elements with specific IDs: meta, applicability, description, examples, tests, related, resources. The description and tests sections are required; the applicability and examples sections are recommended; the related and resources sections are optional. The meta section provides context for the technique during authoring but is removed for publication. The title of the technique is in the <h1> element. Elements with class="instructions" provide information about populating the template. They should be removed as the technique is developed but if not removed, will be ignored by the generator. Do not copy class="instructions" on real content.

Techniques can use a temporary style sheet to facilitate review of drafts. This style sheet is replaced by other style sheets and structure for formal publication. To use this style sheet, add <link rel="stylesheet" type="text/css" href="../../css/editors.css"/> to the head of the technique.

The generator used to publish techniques uses XML processing, so techniques must be well-formed XML. Techniques use HTML 5 structure so are actually HTML Polyglot.

Images, Examples, Cross References for Techniques

Techniques can include images. Place the image file in the img folder of the relevant technology - meaning all techniques for a technology share a common set of images. Use a relative link to load the image. Most images should be loaded with a <figure> element and labeled with a <figcaption> positioned at the bottom of the figure. <figure> elements must have an id attribute. Small inline images may be loaded with a <img> element with suitable alt text.

Techniques should include brief code examples to demonstrate how to author content that follows the technique. Code examples should be easy to read, and usually not complete content in themselves. More complete examples can be provided as working examples (see below). Link to working examples at the bottom of each example, in a <p class="working-example"> element, containing a relative link to ../../working-examples/{example-name}/.

Cross references to other techniques may be provided where useful. Generally they should be provided in the "Related Techniques" section but can be provided elsewhere. Use a relative link to reference the technique, {Technique ID} if the same technology, or ../{Technology}/{Technique ID} otherwise. If the technique is still under development and does not have a formal ID, reference the path to the development file. If the technique is under development in a different branch, use an absolute URI to the rawgit version of the technique.

Cross references to guidelines and success criteria should use a relative URI to the Understanding page for that item. Cross references to other parts of the guidelines should use an absolute URI to the guidelines as published on the W3C TR page, a URI beginning with https://www.w3.org/TR/WCAG21/#. Note that references to guidelines or success criteria to which techniques relate are added by the generator upon publication based on information in the Understanding documents, so redundant links to those is not normally needed or advised.

Create Techniques

General priorities and process to work on techniques are maintained in the wiki.

New techniques should use a filename that is derived from a shortened version of the technique title. Editors will assign the technique an ID and rename the file when it is accepted by the Working Group. For example, a technique "Using the alt attribute on the img element to provide short text alternatives" might use "img-alt-short-text-alternatives.html" as the filename. The editors will assign it a formal ID, and rename the file, when it is accepted by the Working Group.

Each new technique should be created in a new branch. Set-up of the branch and file is automated via the create-techniques.sh script, which can be run with bash. The command line is:

bash create-techniques.sh <technology> <filename> <type> "<title>"

<technology> is the technology directory for the technique <filename> is the temporary filename (without extension) for the technique <type> is "technique" or "failure" <title> is the title of the technique, enclosed in quotes and escaping special characters with \

This automates the following steps:

  • Determine a filename for the technique that is likely to be descriptive, unique, and short.
  • Create a working branch named the same as the technique filename.
  • Copy the techniques/technique-template.html file into the appropriate technology folder for the technique, and give it the chosen file name.
  • In the section element with id "meta", indicate to which guideline or success criterion the technique relates, and whether the technique is sufficient, advisory, or a failure for that item. Multiple applicability are allowed.

Once a technique branch and file is set up, populate the content and request review:

  • Populate the template with appropriate content, using other techniques as examples for code formatting choices. Keep the existing structural sections from the template in place.
  • When the technique is ready for review, make a pull request into master.
  • If you wish to reference the draft technique from an Understanding document, use the technique's rawgit URI.
  • After a technique is approved, the chairs will assign it an ID and update links to it in the Undestanding documents.

Formatting Techniques

Techniques in the repository are plain HTML files with minimal formatting. For publication to the editors' draft and W3C location, techniques are formatted by an XSLT-based generator managed by Apache Ant running in Java. Most people do not need to worry about this, but relevant files are the Ant build file and XSLT files.

The generator compiles the techniques together as a suite with formatting and navigation. It enforces certain structures, such as ordering top-level sections described above and standardizing headings. It attempts to process cross reference links to make sure the URIs work upon publication. One of the most substantial roles is to populate the Applicability section with references to the guidelines or success criteria to which the technique relates. The information for this comes from the Understanding documents. Proper use of the technique template is important to enable this functionality, and mal-formed techniques may cause the generator to fail.

Working Examples

Examples in techniques should be brief easy-to-consume code samples of how the technique is used in content. Therefore examples should focus on the specific features the technique describes, and not include related content such as style, script, surrounding web content, etc.

Often it is desirable to provide more comprehensive examples, which show the technique in action while not interfering with the main technique document. These examples also show the complete code required to make the technique operate, including full style and script files, images, page code, etc. Usually, these "working examples" are referenced at the bottom of the elided example which is included in the main technique.

Working examples are stored in the working-examples directory of the repository. Each example is in its own subdirectory, to contain the multiple files that may be necessary to make the example work. In some cases, multiple working examples will share common resources; these are stored in the appropriate sub-directory of the working-examples directory, e.g., working-examples/css, working-examples/img, working-examples/script. Reference these common resources when available; otherwise place resources in the working example directory, using subdirectories to organize when appropriate.

To create a working example:

  • Identify the name for the example, e.g., "Using the alt attribute".
  • Create a working branch for the example, whose name begins with the prefix example- and which otherwise semantically identifies the example, e.g., example-alt-attribute.
  • Create a directory for the example inside the working examples directory, using the semantic name for the example minus the prefix used in the branch name, e.g., working-examples/alt-attribute/.
  • If the primary example is HTML, name the file index.html. Otherwise, create a suitable file name.
  • Refer to resources shared among multiple examples using relative links, e.g., ../css/example.css. Place other resources in the same directory as the main example, e.g., working-examples/alt-attribute/css/alt.css.
  • Reference working examples from techniques using the rawgit URI to the example in its development branch, e.g., https://rawgit.com/w3c/wcag/master/working-examples/alt-attribute/. Editors will update links when examples are approved.
  • When the example is complete and functional, submit a pull request into the master branch.

Translations

WCAG 2.2 is ready for translation. To translate WCAG 2.2, ensure you are set up to use GitHub, then:

  • Fork the w3c/wcag repository.
  • Change to the branch "WCAG-2.2".
  • Create a new branch from this branch.
  • Translate all user-oriented content in the "guidelines" folder, including the sub-folders. User-oriented content includes text in elements, and attributes such as "title" and "alt" that provide content to users. Leave other markup as is.
  • Load the index.html document in a modern browser and allow the script to compile the content and format it.
  • Activate the "Respec" link in the top right corner, and choose "Export...", then the "HTML" option.
  • Edit the resulting file to translate text that was inserted by the script.
  • Edit the file to meet the requirements of the W3C Authorized Translations process.

wcag's People

Contributors

alastc avatar allanj-uaag avatar awkawk avatar bruce-usab avatar cwadamsoforacle avatar davidmacdonald avatar dbjorge avatar detlevhfischer avatar fstrr avatar giacomo-petri avatar goodwitch avatar iadawn avatar jake-abma avatar joshueoconnor avatar kimpatch avatar kwahlbin avatar lauracarlson avatar ljoakley avatar lseeman avatar marcjohlic avatar maryjom avatar mbgower avatar momdo avatar patrickhlauke avatar rachaelbradley avatar sajkaj avatar scha14 avatar scottaohara avatar shawna-slh avatar steverep avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wcag's Issues

Procedure looks wrong (and doesn't match notes above)

Name: Mark Rogers
Affiliation: PowerMapper Software
Document: TD
Item Number: F68
Part of Item: Applicability
Comment Type: technical
Comment (Including rationale for any proposed change):
The procedure says "For all input elements except those of type "radio", "submit", or "reset", and all textarea and select elements in the Web page:"

The procedure requires programatically associated labels for input type=hidden. It also allows input type=radio without programatically associated labels.

Proposed Change:
Change "radio" to "hidden" in "For all input elements except those of type "radio", "submit", or "reset", and all textarea and select elements in the Web page:"

Restating flash and red flash thresholds for clarity

http://lists.w3.org/Archives/Public/public-comments-wcag20/2015Jan/0009.html

We are reviewing and modifying our Japanese translation of WCAG 2 for JIS refresh.

We have a request on "general flash and red flash thresholds" in "Appendix A: Glossary".

It reads "Note 2: A transition is the change in relative luminance (or relative luminance/color for red flashing) between adjacent peaks and valleys in a plot of relative luminance (or relative luminance/color for red flashing) measurement against time."

Could you restate Note 2 in different words (in plain English)?

Conflict between glossary definition of label and H65 sufficient technique for 3.3.2

From: Glenda Sims/DEQUE
Summary of Issue: Conflict between glossary definition of label and H65 sufficient technique for 3.3.2
Comment (Including rationale for any proposed change):
The Normative definition for label clearly says "Note 1: A label is presented to all users whereas the name may be hidden and only exposed by assistive technology. In many (but not all) cases the name and the label are the same." But there is a sufficient technique (H65) for 3.3.1 that allows title (or hidden labels) to be used. BUT..this is in direct conflict with the definition of label.

Proposed Change:
Remove H65 as a sufficient technique because it does not allow you to pass 3.3.1 (because it does not provide the label information for all users (only provides it for screen reader users).

[LowVis] graphics contrast is unmentioned (except as exceptions)

Name: Chaals McCathie Nevile
Email: [email protected]
Affiliation: Yandex
Document: W2
Item Number: Guideline 1.4: Make it easier for users to see and hear content...
Part of Item:
Comment Type: technical
Summary of Issue: graphics contrast is unmentioned (except as exceptions)
Comment (Including rationale for any proposed change):
None of the contrast requirements in guideline 1.4 apply to graphics, except where specific types of graphics are specifically exempted.

This fails to account for primarily graphic applications, such as maps, traffic indication, wayfinding tools, and many others.

People have a primarily visual interaction with the Web. Where graphics are presented as a key part of an interface, even given a text-based alternative, many people will rely on the graphics.

It is therefore important to require sufficient accessibility of graphics content for visual users.

Proposed Change:
Add requirements for appropriate visual contrast in graphics used to provide functionality of a site or application.

2 code errors in Ex. 3 of ARIA2: Identifying a required field with the aria-required property

ARIA2: Identifying a required field with the aria-required property. http://www.w3.org/TR/WCAG20-TECHS/ARIA2.html

Code error 1: The 3rd example shows individual radio button with the aria-required property. I believe this is incorrect. According to the ARIA spec ( http://www.w3.org/WAI/PF/aria/states_and_properties#aria-required), "aria-required" is not supported on role="radio" (it should be on the element with role="radiogroup").
Code error 2: Also noticed that the id is left off of the element.

Existing and corrected code samples provided:

Existing code sample for Example 3:

Account Number

Please send an alert when balance exceeds $3,000.

  • Yes
  • No

Here is how I think Example 3 should be constructed ("id" added to the input element; moved "aria-required" to radiogroup):

Account Number

Please send an alert when balance exceeds $3,000.

  • Yes
  • No

end

[Low Vis] Failure of Success Criterion 1.4.3 and 1.4.6 due to using background color that do not provide sufficient contrast with foreground text color

Submitter's Name: aurelien levy
Submitter's Email: [email protected]

This failure occurs when people with low vision are not able to read text that is displayed over a background color. When there is not sufficient contrast between the background color and the text color, features of the background color can be confused with the text color making it difficult to accurately read the text.
To satisfy Success Criterion 1.4.3 and 1.4.6, there must be sufficient contrast between the text color and its background color.

Example 1 Head: Failure Example 1
Example 1 Description:
Black text overlays a dark grey background

h2{
color:#000000;
background: #515151;
}

Example 2 Head: Failure Example 2
Example 2 Description:
Black text overlays a background with a css vertical gradient from black to white.

h2{
color:#000000;
background: linear-gradient(to bottom, #FFFFFF 0%,#000000 100%);
}

Test Procedure:
1.Quickcheck: First do a quick check to see if the contrast between the text and the area of the background color that is darkest (for dark text) or lightest (for light text) meets or exceeds that required by the Success Criterion (1.4.3 or 1.4.6). If the contrast meets or exceeds the specified contrast, then there is no failure.
2.If the Quickcheck is false, then check to see if the background color behind each letter has sufficient contrast with the letter.

Expected Result:
If Quickcheck is false and #2 is false as well then this failure condition applies and the content fails the contrast Success Criterion.

Additional Notes:
this failure relates to 1.4.3 and 1.4.6

idrefs to Guideline instead of SC

In the ARIA XML source I think there are wrong idrefs - instead linking to success criteria they are linking to Guidelines. This is only for text-equiv
e.g.
success-criterion idref="text-equiv" relationship="sufficient"

UA support for this technique seems to be non-existent

https://www.w3.org/2006/02/lc-comments-tracker/35422/NOTE-WCAG20-TECHS-20140911/2997

I was doing some research on this technique and the UA notes:
http://www.w3.org/WAI/WCAG20/Techniques/ua-notes/html#H69

Opera hasn't supported keyboard heading navigation since switching from Presto to Blink in July 2013
http://forums.opera.com/discussion/1834402/navigation-over-links/p1

The Vimium extension they mention as a replacement doesn't appear to
support heading navigation either

The currently documented Opera keyboard shortcuts now look identical to other browsers:
http://help.opera.com/opera/Windows/1387/en/fasterBrowsing.html#keyboard

The Firefox landmark extension from TPG has been mentioned as an alternative, but this doesn't support heading navigation either. I've checked both the source code and and installed on a clean VM
https://github.com/matatk/landmarks

The other alternatives mentioned in the H69 UA notes either no longer work on current browsers or don't have working download links.

Conclusion: there's no longer UA support for this technique

Best Regards
Mark

Proposed Change:
Given there appears to be no current UA support for this technique for keyboard users, should it be retired?

If someone does find UA support for it, then the UA notes should be updated accordingly.

Double colon in H63

Description, second paragraph:

For simple data tables where the header is not in the first row or column, like the one in Example 1, this technique can be used. Based on screen reader support today, its use is suggested in two situations both relating to simple tables: :

At the end of the paragraph is a colon that is not needed.

Update PDF14 to be in sync with PDF/UA and also ensure footer information is available in other means.

I have compared what PDF/UA and WCAG say about headers and footers and have written up a small report and recommendations on how I think we should proceed with Headers and Footers in PDF documents.

http://davidmacd.com/blog/pdf-headers-footers.html
I think we will need to update WCAG PDF14 to ensure it is clear that headers and footers will become artifacts and thtat the information needs to be available through other means (as in #1-3 below).I think PDF14 requires an update quickly. I could take an action item to propose the rewrite.

  • Mark up headers and footers as artifacts as required by the PDF/UA (this is done automatically if exported from Word)
  • Provide header/ footer information in a prominent place in the main body document. For example:
    • Title Page that contains author, date, copyright, classified information, form numbers etc...
    • Introduce any information that is changed in the Header/Footer in a prominent place in the main body. (e.g., proper Section Headings)
  • Sync page numbers in the footers with the Page Thumbnail view using WCAG Technique PDF17 so screen reader users can determine the page they are on.

[LowVis] Failures of SC 1.4.3

I don't understand why there is still no failure against text contrast ratio and I think we also need to ask for at least a 3.0:1 ratio for icons used without text.
It's a more and more common issue especially with responsive website and social sharing.

There is already a technique for that "Making icons using simple line drawings that meet the contrast provisions for text (future link) " but in advisory techniques for now.

So I think we need two new failures like :

Failure of Success Criterion 1.4.3 and 1.4.6 due to using icons that do not provide sufficient contrast with background
Failure of Success Criterion 1.4.3 and 1.4.6 due to using text that do not provide sufficient contrast with background

Using 'non-web document(s)' instead of 'web page(s)' in WCAG2ICT

https://www.w3.org/2006/02/lc-comments-tracker/35422/NOTE-UNDERSTANDING-WCAG20-20140911/2995

Comment (Including rationale for any proposed change):
I think the choice of words selected to replace 'web page' ('document' and 'program') is not the best choice of words to use. I believe the word 'screen' is much more appropriate. As we are already using that word and it is used in every software development practice and not just websites/web apps. In addition, the choice to use 'software program' I believe is too large of a unit to measure.

Proposed Change:
use the word 'screen' and/or 'set of screens' for defining the unit of measure.

Code Standards

I was looking at normalizing the formatting through out the repo.
To do this I suggest adding an http://editorconfig.org file so that going forward IDEs will self normalize.

Few questions to answer for the config file:

  1. Tabs vs. Spaces since there is a mix in the repo
  2. Blank line at EOF?
  3. Trim trailing space?

Building the gh-pages on Travis-CI

There are a few options for building out the gh-pages branch, but here are a few decisions to make:

  1. What content branches should be built out
  2. Should the publishing be handled as an Ant target or a Bash script
  3. Should history be maintained on the gh-pages branch or keep it as a single commit orphan branch
  4. How to integrate in the required CSS/JS for the pages

Investigate issues with CSS generated content

Content injection via pseudo-elements ::before & ::after and the 'content' property:

  • Authors can use the "content" property and pseudo-elements ::before and ::after to inject content into the page that could be missed by AT
  • Potential impacts to WCAG SC 1.3.2 Meaningful Sequence and 2.4.3 Focus Order?
  • Now dealing w/ CSSOM (CSS Object Model) vs DOM that we're used to dealing with
  • Should meaningful / important content (text / images) be banned from ::before and ::after? (keep it presentational?)
  • What is the AT stance on generated content these days? (JAWS, NVDA, VO etc)
    • I believe VO reads it, but are other vendors working to include it?
  • Do we need Techniques - or should it (for now?) always be a Failure using generated content for important information?
    • Techniques could just be around unimportant information (glyphs, icons, supplemental info etc)

Existing Techniques and Failures in this area:

  • C9 covers CSS for decorative content
  • C6 covers positioning content based on structural markup
  • C27 covers DOM order matching visual order
  • F1 covers changing the meaning by positioning via CSS
  • F3 covers using CSS to include important images
  • F44 covers using tabindex that does not preserve meaning - maybe a copy of this for nav-index?
  • F87 Failure of Success Criterion 1.3.1 due to inserting non-decorative content by using :before and :after pseudo-elements and the 'content' property in CSS

Might just need some edits to these existing Techniques and Failures with language that is more specific to CSS generated content, nav-index, and 'order'.

Any other thoughts or suggestions on this topic?

[Draft Technique] C31:Using percent for font sizes

C31: Using percent for font sizes
Important Information about Techniques
See Understanding Techniques for WCAG Success Criteria for important information about the usage of these informative techniques and how they relate to the normative WCAG 2.0 success criteria. The Applicability section explains the scope of the technique, and the presence of techniques for a specific technology does not imply that the technology can be used in all situations to create content that meets WCAG 2.0.
Applicability
CSS
This technique relates to:
• Success Criterion 1.4.4 (Resize text)
o How to Meet 1.4.4 (Resize text)
o Understanding Success Criterion 1.4.4 (Resize text)
• Success Criterion 1.4.5 (Images of Text)
o How to Meet 1.4.5 (Images of Text)
o Understanding Success Criterion 1.4.5 (Images of Text)
• Success Criterion 1.4.8 (Visual Presentation)
o How to Meet 1.4.8 (Visual Presentation)
o Understanding Success Criterion 1.4.8 (Visual Presentation)
• Success Criterion 1.4.9 (Images of Text (No Exception))
o How to Meet 1.4.9 (Images of Text (No Exception))
o Understanding Success Criterion 1.4.9 (Images of Text (No Exception))
User Agent and Assistive Technology Support Notes
See User Agent Support Notes for C12.
Description
The objective of this technique is to specify text font size proportionally so that user agents can scale content effectively. Percent, named or em units can be used. If the size of the font is specified for the body element, all other elements inherit that value, unless overridden by a more specific selector.
This technique (C31) is the combination of three previous CSS techniques that addressed relative font sizes separately (C12, C13 and C14).
Examples
Example 1: Percent font sizes in CSS
This example defines the font size for the strong element so that its text will always be larger than the surrounding text, in whatever context it is used. Assuming that headings and paragraphs use different font sizes, the emphasized words in this example will each be larger than their surrounding text.
Example Code:

strong {font-size: 120%}

...

Letting the user control text size

Since only the user can know what size text works for him, it is very important to let him configure the text size. … Example 2: Named font sizes in CSS This example selects a larger font size for strong elements so that their text will always be larger than the surrounding text, in whatever context they are used. Assuming that headings and paragraphs use different font sizes, the emphasized words in this example will each be larger than their surrounding text. Example Code:

strong {font-size: larger}

...

Letting the user control text size

Since only the user can know what size text works for him, it is very important to let him configure the text size. … Example 3: Em font sizes in CSS This example defines the font size for strong element so that its text will always be larger than the surrounding text, in whatever context it is used. Assuming that headings and paragraphs use different font sizes, the strong words in this example will each be larger than their surrounding text. Example Code:

strong {font-size: 1.6em}

...

Letting the user control text size

Since only the user can know what size text works for him, it is very important to let him configure the text size.


Resources
Resources are for information purposes only, no endorsement implied.
• Cascading Style Sheets, Level 2 (CSS2), Fonts
• CSS 2 Font Size Property
Tests
Procedures

  1. Check that the value of the CSS property that defines the font size is a percentage.
  2. Check that the value of the CSS property that defines the font size is one of xx-small, xx-small, x-small, small, medium, large, x-large, xx-large, xsmaller, or larger.
  3. Check that the value of the CSS property that defines the font size is expressed in em units.
    Expected Results
    • Check #1 or Check #2 or Check #3 is true
    If this is a sufficient technique for a success criterion, failing this test procedure does not necessarily mean that the success criterion has not been satisfied in some other way, only that this technique has not been successfully implemented and cannot be used to claim conformance.

Scope of "Third Party Content"

Statement of Partial Conformance - Third Party Content

We need specific examples which can be applied to "Third Party Content".

1. Social plugins

Examples of issues including, but not limited to:

  • When Windows high contarst mode is on, the logo (icon) and/or the button label is invisible
  • When it uses the <iframe>, the title attribute is not provided or the value of the title attribute doesn't describe the contents of inline frame.
  • When "Timeline" widget is embedded in a web page and it includes an image, ALT text is not provided for the image.

2. Video player

Examples of issues including, but not limited to:

  • Controls (play/pause button, volume control slider, etc.) are not keyboard accessible.
  • Label/ALT text is not provided for each control.
  • Controls are invisible when Windows high contrast mode is on.

Question

In many cases, they are not content that are under the author's control. Authors don't have any alternatives as the codes are officially provided from the third party they are using. For example, when they are using Twitter, there is no option. Authors have no choice but to use the plugin which is officially provided by Twitter even if they already found an issue to be fixed.

However, WCAG says "it is not possible to know at the time of original posting what the uncontrolled content of the pages will be." Authors can check if the third party content is WCAG conformant before they use it.

Can we apply "Statement of Partial Conformance - Third Party Content" to them?

We should have specific examples in "Understanding WCAG 2.0" to clarify what would be included and what would not be included.

Clarify the meaning of "is also available" in step #3 of F3 test

Name: Detlev Fischer
Affiliation: 3needs
Document: TD
Item Number: F3
Part of Item: Tests
Comment Type: technical
Comment (Including rationale for any proposed change):
The third step in the test of F3 says "If an image does convey important information, the information is provided to assistive technologies and is also available when the CSS image is not displayed".
Since assistive technologies are mentioned immediately before the bit "is also available", it is no unambiguously clear that the intent here is to require also the visible presence of replaced text when content is viewed with CSS disabled (i.e. in cases where background images disappear and some suitable alternative text that is off-screen-positioned when CSS is active is shown instead).
An additional suggestion: The use of CSS background images for controls is now very frequent, so I wonder whether a sufficient technique describing replaced text (off-screen positioned when CSS is active, replacing the image when CSS is off) would be a good idea. Such a technique currently does not exist, I bevieve. Should I draft something?

Proposed Change:
Change third step of F3 test to:
"If an image does convey important information, the information is provided to assistive technologies and is available both visually and programmatically when the CSS image is not displayed".

Test of commenting system

This is a commenting test.

A problem with this URI http://test.test.ie

Some code:

Some test heading

Wow, that heading is amazing.

Some test heading

Wow, that heading is amazing.


Some test heading

Wow, that heading is amazing, but can I see the code?

[LowVis] Can text shadowing be used to meet minimum contrast requirements?

Name: Moe Kraft
Email: [email protected]
Affiliation: IBM
Document: UW
Item Number: Understanding Success Criterion 1.4.3
Part of Item: Sufficient Techniques
Comment Type: technical
Summary of Issue: Can text shadowing be used to meet minimum contrast requirements?
Comment (Including rationale for any proposed change):
On a recent design review call, the designer proposed that although the text color does not meet sufficient contrast minimum requirements with the background color or image, the border around the text does meet contrast minimum requirements and that the text with shadowing should be sufficient to meet the success criteria of 1.4.3.

Is this possible? Should there be guidelines on the weight/thickness of the shadow and that it goes around all the text and not just one side?
Should this be entered as a proposed technique?

A good sample can be seen in the article, Design Accessibly, See Differently: Color Contrast Tips And Toolshttp://www.smashingmagazine.com/2014/10/22/color-contrast-tips-and-tools-for-accessibility/ In the Pay Now images, the middle column shows text with a drop shadow on the foreground text and the tests are in Normal view, gray scale and deuteranopia. http://media.mediatemple.netdna-cdn.com/wp-content/uploads/2014/10/buttongradients-large.png

Technique F17: improve formulation in the expected result

http://www.w3.org/TR/WCAG-TECHS/F17.html and https://github.com/w3c/wcag/blob/master/wcag20/sources/failure-tech-src.xml

The expected result is formulated wrongly:

"If step #1, step #3 or step #4 is true or step #2 is false, then this failure condition applies and the content fails the success criterion."

Proposal:

"If step #1 is true or step #2 is false or step #3 is false or step #4 is false, then this failure condition applies and the content fails the success criterion."

Scope of "Third Party Content"

Statement of Partial Conformance - Third Party Content

We need specific examples which can be applied to "Third Party Content".

1. Social plugins

Examples of issues including, but not limited to:

  • When Windows high contarst mode is on, the logo (icon) and/or the button label is invisible.
  • When it uses the <iframe>, the title attribute is not provided or the value of the title attribute doesn't describe the contents of inline frame.
  • When "Timeline" widget is embedded in a web page and it includes an image, ALT text is not provided for the image.

2. Video player

Examples of issues including, but not limited to:

  • Controls (play/pause button, volume control slider, etc.) are not keyboard accessible, or
  • Label/ALT text is not provided for each control, or
  • Controls are invisible when Windows high contrast mode is on.

3. Map

  • Controls of the interactive map that is embedded in a web page is not keyboard accessible.

4. Update Issue (added on April 28th)

These plugins, players and widgets can be updated without notice. The update is also not under author's control.

For example, an author embedded a third party's widget which was conforming to WCAG in a website and the website made a conformance claim at that time. After that, the widget was updated by the third party and the updated version has an issue which fails a success criterion.

If the widget is considered to be a "Third Party Content", "Statement of Partial Conformance - Third Party Content" could be made. If not, the website won't be able to make a partial conformance claim as well as a conformance claim due to the failure.

Question (modified on April 28th)

In many cases, they are not content that are under the author's control. Authors don't have any alternatives as the codes are officially provided from the third party they are using. For example, when they are using Twitter, there is no option. Authors have no choice but to use the plugin which is officially provided by Twitter even if they already found an issue to be fixed.

As a precondition of "Statement of Partial Conformance - Third Party Content", WCAG says "it is not possible to know at the time of original posting what the uncontrolled content of the pages will be." Actually authors can check if the third party content is WCAG conformant before they use it. But "it is not possible to know at the time of original posting what the uncontrolled content (= upcoming version of the third party content) of the pages will be".

Can we apply "Statement of Partial Conformance - Third Party Content" to these plugins, players and widgets?

We should have specific examples in "Understanding WCAG 2.0" to clarify what would be included and what would not be included.

The followings are just images. It doesn't mean that they fail under WCAG SC.

social button
tw-timeline fw
video
map fw

if auto-redirect despite WCAG but UA blocks, tell user where to go

https://lists.w3.org/Archives/Public/public-comments-wcag20/2015Jun/0002.html

Name: Nick Levinson
Email: [email protected]
Affiliation: none
Document: W2
Item Number: Guideline 2.2: Provide users with disabilities enough time to read...
Part of Item:
Comment Type: technical
Summary of Issue: if auto-redirect despite WCAG but UA blocks, tell user where to go
Comment (Including rationale for any proposed change):
Pages that refresh so that information is lost may violate WCAG 2.0 guideline 2.2, but refreshing is common anyway. However, a browser may prevent refreshing unless the user chooses to refresh. That's a good solution, but with one caveat: the user may not know why refreshing is supposed to occur, and the user should be well-informed so they can decide what to do next, which may be to do what the redirection was supposed to do. Therefore, the page before refreshing should say why it should refresh.

Example: I recently designed a website with a complicated directory structure. Many directories contained only subdirectories. A visitor to one would get a message from my host saying basically that there's nothing to see here. So, I prepared nonroot index.html files that would auto-redirect the visitor to a page. (I since changed my mind, and they no longer auto-refresh.) In the time before auto-redirection, the page would say what would happen, and would provide links, one to do the same thing as auto-redirection and the other to provide an alternative destination (the home page). So, if the browser prevented redirection, the user would know what to do anyway.

Proposed Change:
If auto-redirection is used despite violating WCAG, since a browser may block auto-redirection, tell the user what the intent was and provide a means of doing it manually. This advice can go into a document that supports WCAG today or a future revision of WCAG.

H65 Technique is Invalid and Abused to Allow Disappearing Placeholders Over Visible Labels

I'm seeing many people use this technique as a normative type document to meet the labels and instructions SC that requires visible labels. They are applying it to incorrect situations like many text inputs in a shipping address fieldset with placeholders and no visible labels. I could see how it applies in the 4 specific situations listed in H65 but beyond that it should not be valid.

This technique causes many developers and designers to say well WCAG allows a title on H65 so all we need is a title or some other visually hidden label. This is a major problem for mobile were everyone loves placeholders over labels. http://pauljadam.com/demos/wcagh65invalid.html

Thank you for any help in fixing the issue or correcting me on it if I'm crazy and visually hidden labels are really allowed on whatever text inputs you want.

[Comment] Merging Techniques c12,c13 and 14

https://www.w3.org/2006/02/lc-comments-tracker/35422/NOTE-WCAG20-TECHS-20140911/2992

I always wondered why in Techniques for WCAG 2.0 there are three different techniques (c12, c13 and c14) for the same problem, ie how to specify text font size.

My proposal is to merge them together in a single technique

Proposed Change:
A new technique that will merge c12,c13 and c14.
Its procedure will be:

  1. Check that the value of the CSS property that defines the font size is a percentage.
  2. Check that the value of the CSS property that defines the font size is one of xx-small, xx-small, x-small, small, medium, large, x-large, xx-large, xsmaller, or larger.
  3. Check that the value of the CSS property that defines the font size is expressed in em units.

Expected Results

Check #1 or Check #2 or Check #3 is true

Typo in F91 tests

http://www.w3.org/TR/WCAG20-TECHS/F91.html#F91-tests

It says (replaced # with § to avoid GitHub issue confusion)

Expected Results

  • If all checks §1 - §4 are false, then this failure condition applies and the content fails the Success Criterion.

As there are six checks, I think the correct sentence would be

  • If all checks §1 - §6 are false, then this failure condition applies and the content fails the Success Criterion.

[Low Viz] WCAG Issues for Low Vision users

The area of low vision a11y and WCAG is a topic that needs attention.

Some specific areas are:

1)The priority levels of SCs relating to low vision users and the public perception that they are somehow less important.
2) Can we have better more current techniques for developers when building sites/apps for Screen Magnification users? advances in ARIA, being able to move focus etc need to be accommodated in our techniques.
3) Should we revisit our colour contrast algorithm? Should it enforce higher levels of contrast between foreground and background colours? Can we identify instances where ratios need to be higher - headings/ error messages/?
4) Scrolling and screen magnifiers - we need to understand any current problems.
5) Could we have a tutorial for developers to address low vision user needs and also screen magnification users.
6) What supports can UAAG provide on the platform/UA side for Low vision?

[and more from the https://www.w3.org/WAI/GL/wiki/Post_WCAG_2]

Raise SC 1.4.3: Contrast (Minimum) to Level A
Contrast of Hover and Link Text States
Contrast in Icons

ARIA1 for 2.4.4 Link Purpose

http://www.w3.org/WAI/WCAG20/quickref/#qr-navigation-mechanisms-refs

ARIA1 is listed as a Sufficient Technique for 2.4.4 Link Purpose in the "How to Meet WCAG 2.0" quick reference document.

However, ARIA1 is not listed in the Understanding document for 2.4.4:
http://www.w3.org/TR/UNDERSTANDING-WCAG20/navigation-mechanisms-refs.html

Also, 2.4.4 Link Purpose is not listed in the Applicability section for ARIA1:
http://www.w3.org/TR/2014/NOTE-WCAG20-TECHS-20140916/ARIA1

Not sure if ARIA1 just needs to be removed from 2.4.4 in the How to Meet document, or if it needs to be added to the Understanding doc for 2.4.4 and have 2.4.4 added to Applicability for ARIA1

prop or att

Dfferent markup for property in ARIA-techniques:

"aria-required property" (like in 411, 513 - prop) or
"aria-describedby property" (like in 2052 - att) and "aria-labelledby property" (like in 1330-1335 - att)?

PDF footnotes

We have a technique for Creating PDF headers and footers, usually inserted
using the source program such as MS Word Headers and Footers. See PDF14.
http://www.w3.org/TR/WCAG20-TECHS/PDF14.html
This causes the screen reader to announce these Headers and footers at the
top and bottom of every page. Sometimes the interrupt reading halfway
through a sentence that continues on the following page. I can imagine this
is quite annoying for screen reader users tp have to listen through a header and a footer between every page.

Visually we just skip over it... Usually most of the information found in the header and footer is available on the home page of the document or some other prominent place.

What is useful is page numbers. However, if the author syncs the page
numbering of the PDF with the document large numbers using PDF17, it makes
me wonder if we should advise the author to mark headers and footers as
artifacts instead...

An organization that teaches PDF, which is fairly well known, and has done
work for Adobe teaches to turn these headers and footers into artifacts so
they will be ignored by a screen reader.

I propose we place a note on PDF14 saying something like this:

"If the page numbering has been synchronized as in PDF17 and other header
and footer information is available in a prominent place in the document
such as a heading or home page, then headers and footers are not necessary
and can be marked up as artifacts..."


Andrew responds on list

David,

I’m sure that we can debate the right thing to do with header and footer information and still not come to full agreement. But I agree that repeating “© 2015 MyCorp Industries” or even just the “page 1 of 8” sequence can get tedious for a blind user.

PDF/UA speaks to this:

7.8 Page Headers and footers

Running headers and footers shall be identified as Pagination artifacts and shall be classified as either Header or Footer subtypes as per ISO 32000-1:2008, 14.8.2.2.2, Table 330.

I agree that we need to do something with the PDF14 technique.


Katie responds on list
Great catch David!


Jonathan responds
David, there are some good but very specific reasons to not artifact header and footer information. Otherwise running headers and footer should be made pagination artifacts and the Page Labels feature should be used to add Page numbering including section information to identify pages and sections to assistive technology. The page label feature is pretty powerful and allows flexibility for different number schemes such as Roman numbers and custom label prefixes.

Some instances of header and footer information that might be useful include classification information on classified documents, copyright information, form numbers, or other content that is not located elsewhere in the document. In general I recommend marking that content as non-artifact content on the first and last page so it does not break up the reading order of content.


Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.