-
Notifications
You must be signed in to change notification settings - Fork 17
Authoring new guidelines and requirements in the repository
This document complements the Project Structure and Editing sections of the readme, stepping through how to add new entries at each level of the structure.
- Under
guidelines/groups
, create a subdirectory for the new group using kebab case, e.g.image-and-media-alternatives
- Also under
guidelines/groups
, create a JSON file with the same name as the directory created in the first step, e.g.image-and-media-alternatives.json
- Initialize the file's contents to the following:
{ "children": [ ] }
- Initialize the file's contents to the following:
- Open
guidelines/groups/index.json
and add your new group's name (e.g.image-and-media-alternatives
) at the point where it should appear in the overall document structure- For help with editing JSON, see Appendix A
Continue to creating new guidelines and requirements/assertions, as documented below.
- Under
guidelines/groups
, identify the directory and corresponding JSON file for the group that the new guideline is to be created under - Under the directory identified in step 1, create a subdirectory for the new guideline using kebab case, e.g.
media-alternatives
- Also under the directory identified in step 1, create a Markdown file with the same name as the directory created in step 2, e.g.
media-alternatives.md
- Edit the JSON file under
guidelines/groups
identified in step 1; in itschildren
array, add a reference to the new subdirectory created in step 2- For help with editing JSON, see Appendix A
- Start with the following structure, which contains example content:
--- children: [] status: developing --- Write description here. :::decision-tree For each item: 1. Question 1? - Yes, (explanation). Continue. - No, (explanation). Fail. 2. Question 2? - Yes, (explanation). Pass. - No, (explanation). Continue. 3. Question 3? - Yes, (explanation). pass. - No, (explanation). Fail. :::
- Adjust metadata (frontmatter) accordingly:
-
status
can be any status indicator listed in the Explainer (in lowercase), or omitted if none should be shown - Typically, the title of the guideline is inferred from its filename, by converting hyphens to spaces and capitalizing the first letter of the first word. If this is not correct, it can be overridden by adding
title: ...
.- For example,
non-text-alternatives
would becomeNon text alternatives
by default, but can be corrected withtitle: Non-text alternatives
- For example,
-
children: []
is initially empty and will be adjusted later, when adding the first requirement/assertion; see below
-
- Under
guidelines/groups
, find the directory for the containing group, then the subdirectory and corresponding Markdown file for the guideline that the new requirement or assertion will be created under - Under the directory identified in step 1, create a Markdown file for the new guideline using kebab case, e.g.
audio-descriptions.md
- Edit the Markdown file identified in step 1, and add to its list of children
- For help with editing frontmatter, see Appendix B
- Start with the following structure, which contains example content:
--- status: developing type: foundational --- Write description here.
- Adjust metadata (frontmatter) accordingly:
-
status
may be any status indicator listed in the Explainer (in lowercase), or omitted if none should be shown -
type
may befoundational
,supplemental
, orassertion
- If a requirement needs additional research, add
needsAdditionalResearch: true
as another line in the frontmatter - Typically, the title of the requirement/assertion is inferred from its filename, by converting hyphens to spaces and capitalizing the first letter of the first word. If this is not correct, it can be overridden by adding
title: ...
.- For example,
non-verbal-cues
would becomeNon verbal cues
by default, but can be corrected withtitle: Non-verbal cues
- For example,
-
Entries in JSON arrays and objects must be separated by commas; in other words, all entries except the last will be followed by a comma.
When an array has only one entry, there is no comma:
[
"first-entry"
]
When appending an entry to an array, remember to add a comma after the last existing entry:
[
"first-entry",
"appended-entry"
]
When inserting anywhere else in the array, remember to include a comma after the new entry:
[
"first-entry",
"inserted-entry",
"appended-entry"
]
Frontmatter is the content seen at the top of Markdown files, delimited by ---
lines above and below.
Arrays can be expressed similarly to bulleted lists in markdown, with each line beginning with -
.
To add an item to an array with existing items, add another "bullet":
children:
- previous-child
- new-child
- next-child
Empty arrays are a special case, as they must be represented similarly to JavaScript, with the value []
.
To add an item to an empty array, convert it to a bulleted list.
Before:
children: []
After:
children:
- new-child
Note the indentation of array items is significant, to indicate it defines the value of the children
key of the parent object.
WCAG3 is a project of the W3C Accessibility Guidelines Working Group (AGWG). Research and prototyping was done by the Silver Task Force. Archival and additional material for this project can be found on the Silver wiki and the Silver Github wiki.
This Wiki page is edited by participants of the Accessibility Guidelines Working Group. It does not necessarily represent consensus and it may have incorrect information or information that is not supported by other Working Group participants, WAI, or W3C. It may also have some very useful information.
- Outcome List by Categories from 2024 Card Sort
- Focus Appearance Outcome Scratchpad (Exploratory to Developing)
- Guideline List
- AGWG TPAC 2024 - a slide deck with links to the the conformance work at 2024 W3C TPAC Face to Face Meeting.
- Conformance Proposal Comparison -- 2024 Q2 table comparing essential parts of different proposals.
- Draft of Analyzing Conformance Options - Feb-Apr 2024
- Conformance Archive and Proposals from 2018 to present
- Guidance for Policy Makers Subgroup
- Early proposal for decision tree based conformance - early thoughts on what a decision tree could look like in a conformance proposal.
These links leave WCAG3 for archived Silver github wiki. Permissions may differ.