Read This First
++ No ARIA is better than Bad ARIA. Before using any ARIA, read this to understand why. +
+From d5c43faa97b94f887cd8eaf88fbbea415a6a787e Mon Sep 17 00:00:00 2001
From: michael-n-cooper-bot Step 3: Label each area Step 3: Label areasGeneral Principles
banner
, main
, complementary
and contentinfo
landmarks should be top level landmarks.
- ${patterns
- .map(
- (pattern) => `
-
- `;
+ ${readThisFirst}
+ ${html.querySelector("body").innerHTML}
+ `
return formatForJekyll({
- title: "Patterns",
+ title,
sitePath,
githubPath,
content,
enableSidebar: false,
+ head: html.querySelector("head").innerHTML,
});
};
module.exports = transformPatternIndex;
+module.exports.getReadThisFirst = getReadThisFirst
diff --git a/scripts/pre-build/library/transformPracticeIndex.js b/scripts/pre-build/library/transformPracticeIndex.js
index fbf5701be..5b2be7289 100644
--- a/scripts/pre-build/library/transformPracticeIndex.js
+++ b/scripts/pre-build/library/transformPracticeIndex.js
@@ -1,111 +1,36 @@
-const path = require("path");
-const fs = require("fs/promises");
const { parse: parseHtml } = require("node-html-parser");
-const glob = require("glob");
const formatForJekyll = require("./formatForJekyll");
const { rewriteSourcePath } = require("./rewritePath");
+const removeConflictingCss = require("./removeConflictingCss");
+const rewriteElementPaths = require("./rewriteElementPaths");
+const { getReadThisFirst } = require("./transformPatternIndex");
-const transformPracticeIndex = async (sourcePath /* , sourceContents */) => {
+const transformPatternIndex = async (sourcePath, sourceContents) => {
+ const readThisFirst = await getReadThisFirst(sourcePath);
+
const { sitePath, githubPath } = rewriteSourcePath(sourcePath);
+ const html = parseHtml(sourceContents);
- const practices = [];
+ const title = html.querySelector("h1").innerHTML;
+ html.querySelector("h1").remove();
- const practicePaths = await new Promise((resolve, reject) => {
- glob(
- path.resolve(
- __dirname,
- "../../../_external/aria-practices/content/practices/*/*-practice.html"
- ),
- {},
- (error, patternPaths) => {
- if (error) return reject(error);
- resolve(patternPaths);
- }
- );
- });
-
- for (const practicePath of practicePaths) {
- const { sitePath } = rewriteSourcePath(practicePath);
- const practiceContents = await fs.readFile(practicePath, {
- encoding: "utf8",
- });
-
- const practiceHtml = parseHtml(practiceContents);
-
- const title = practiceHtml.querySelector("h1").innerHTML;
-
- const slug = practicePath.match(
- /content\/practices\/([^/]+)\/[^/]+-practice\.html/
- )?.[1];
-
- let firstParagraph = practiceHtml.querySelectorAll("p")[0].textContent;
- const periodMatch = /(\.[^\w]|\.$)/.exec(firstParagraph);
- const incompleteSentence = periodMatch === null;
- if (incompleteSentence)
- throw new Error(
- `Practice ${slug} does not begin with a complete sentence.`
- );
- const endOfSentence = periodMatch.index + 1;
- const firstSentence = firstParagraph.substr(0, endOfSentence);
+ removeConflictingCss(html);
- practices.push({ sitePath, title, slug, introduction: firstSentence });
- }
-
- const importanceOrder = [
- "landmark-regions",
- "names-and-descriptions",
- "keyboard-interface",
- "grid-and-table-properties",
- "range-related-properties",
- "structural-roles",
- "hiding-semantics",
- ];
-
- practices.sort((a, b) => {
- const aRank =
- importanceOrder.indexOf(a.slug) === -1
- ? Infinity
- : importanceOrder.indexOf(a.slug);
-
- const bRank =
- importanceOrder.indexOf(b.slug) === -1
- ? Infinity
- : importanceOrder.indexOf(b.slug);
-
- return aRank < bRank ? -1 : 1;
- });
+ await rewriteElementPaths(html, { onSourcePath: sourcePath });
const content = `
- {% include read-this-first.html %}
-
-
- ${pattern.title}
-
-
-
- ${practices
- // Handled above with a special banner
- .filter((practice) => practice.slug !== "read-me-first")
- .map((practice) => {
- return `
-
- `;
+ ${readThisFirst}
+ ${html.querySelector("body").innerHTML}
+ `
return formatForJekyll({
- title: "Practices",
+ title,
sitePath,
githubPath,
content,
enableSidebar: false,
+ head: html.querySelector("head").innerHTML,
});
};
-module.exports = transformPracticeIndex;
+module.exports = transformPatternIndex;
diff --git a/scripts/pre-build/package-lock.json b/scripts/pre-build/package-lock.json
index 944ed88f4..4cc655172 100644
--- a/scripts/pre-build/package-lock.json
+++ b/scripts/pre-build/package-lock.json
@@ -7,7 +7,6 @@
"dependencies": {
"date-fns": "^2.28.0",
"fuzzysearch": "^1.0.3",
- "glob": "^7.1.7",
"lodash": "^4.17.21",
"node-dir": "^0.1.17",
"node-html-parser": "^4.1.2",
diff --git a/scripts/pre-build/package.json b/scripts/pre-build/package.json
index a8bbae018..d248d637e 100644
--- a/scripts/pre-build/package.json
+++ b/scripts/pre-build/package.json
@@ -2,7 +2,6 @@
"dependencies": {
"date-fns": "^2.28.0",
"fuzzysearch": "^1.0.3",
- "glob": "^7.1.7",
"lodash": "^4.17.21",
"node-dir": "^0.1.17",
"node-html-parser": "^4.1.2",
diff --git a/scripts/pre-build/pre-build.js b/scripts/pre-build/pre-build.js
index 01d2cc5e3..694de71c3 100644
--- a/scripts/pre-build/pre-build.js
+++ b/scripts/pre-build/pre-build.js
@@ -45,7 +45,7 @@ const preBuild = async () => {
return transformHtmlAsset(sourcePath, sourceContents);
case "otherAsset":
return transformOtherAsset(sourcePath, sourceContents);
- case "ignored":
+ case "template":
break;
default:
throw new Error(
From 91cedca5082b4a31683ed8f13e4dd5f3cb603644 Mon Sep 17 00:00:00 2001
From: alflennik
- ${practice.title}
-
-
-
Accordion Example: demonstrates a form divided into three sections using an accordion to show one section at a time.
The below example section contains a simple personal information input form divided into 3 sections that demonstrates the Accordion Pattern.
The below example demonstrates the Alert Pattern.
Activating the Trigger Alert
button causes a message to be inserted into the example alert element.
diff --git a/ARIA/apg/patterns/alertdialog/alertdialog-pattern.md b/ARIA/apg/patterns/alertdialog/alertdialog-pattern.md
index 8c66ba215..227b5467c 100644
--- a/ARIA/apg/patterns/alertdialog/alertdialog-pattern.md
+++ b/ARIA/apg/patterns/alertdialog/alertdialog-pattern.md
@@ -69,9 +69,8 @@ if (enableSidebar) document.body.classList.add('has-sidebar');
Alert Dialog Example: A confirmation prompt that demonstrates an alert dialog.
The below example of a confirmation prompt demonstrates the Alert Dialog Pattern. It also includes an example of the Alert Pattern to make comparing the experiences provided by the two patterns easy. diff --git a/ARIA/apg/patterns/breadcrumb/breadcrumb-pattern.md b/ARIA/apg/patterns/breadcrumb/breadcrumb-pattern.md index 64edb83de..05f50cfa1 100644 --- a/ARIA/apg/patterns/breadcrumb/breadcrumb-pattern.md +++ b/ARIA/apg/patterns/breadcrumb/breadcrumb-pattern.md @@ -69,9 +69,8 @@ if (enableSidebar) document.body.classList.add('has-sidebar');
The following example demonstrates the Breadcrumb Pattern.
div
and span
elements made into accessible command and toggle buttons.The following command and toggle button examples demonstrate the Button Pattern.
Similar examples include:
The following examples of the Button Pattern demonstrate a new JavaScript syntax for coding ARIA attributes.
The JavaScript for the example buttons on this page uses the IDL Interface defined in ARIA 1.2. @@ -121,10 +122,7 @@ if (enableSidebar) document.body.classList.add('has-sidebar'); browser that does not yet provide support for ARIA attribute reflection, the buttons will not be styled correctly.
- +This Print
action button uses a div
element.
The following example implementation of the Carousel Pattern demonstrates features of the pattern that are essential to accessibility for carousels that automatically start rotating when the page loads. For instance, rotation stops when users either move focus into the carousel or hover the mouse over carousel content, and users can manually control which slide is displayed with previous and next slide buttons. diff --git a/ARIA/apg/patterns/carousel/examples/carousel-2-tablist.md b/ARIA/apg/patterns/carousel/examples/carousel-2-tablist.md index ab6a7d31f..cfe3879e1 100644 --- a/ARIA/apg/patterns/carousel/examples/carousel-2-tablist.md +++ b/ARIA/apg/patterns/carousel/examples/carousel-2-tablist.md @@ -12,7 +12,7 @@ permalink: /ARIA/apg/patterns/carousel/examples/carousel-2-tablist/ sidebar: true -footer: "
" +footer: " " # Context here: https://github.com/w3c/wai-aria-practices/issues/31 type_of_guidance: APG @@ -94,10 +94,8 @@ if (enableSidebar) document.body.classList.add('has-sidebar');The following example implementation of the Carousel Pattern demonstrates features of the pattern that are essential to accessibility for carousels that automatically start rotating when the page loads. This example also illustrates how to use the tabs pattern to provide users with a way to skip slides in the sequence by directly choosing which one to view. diff --git a/ARIA/apg/patterns/checkbox/checkbox-pattern.md b/ARIA/apg/patterns/checkbox/checkbox-pattern.md index 69c0fb460..2dbabed66 100644 --- a/ARIA/apg/patterns/checkbox/checkbox-pattern.md +++ b/ARIA/apg/patterns/checkbox/checkbox-pattern.md @@ -83,9 +83,8 @@ if (enableSidebar) document.body.classList.add('has-sidebar');
This example demonstrates using the Checkbox Pattern to create a tri-state, or mixed-state, checkbox. In this implementation, the mixed-state checkbox represents the state of a set of standard HTML checkboxes. diff --git a/ARIA/apg/patterns/checkbox/examples/checkbox.md b/ARIA/apg/patterns/checkbox/examples/checkbox.md index 977e7f509..56ed93881 100644 --- a/ARIA/apg/patterns/checkbox/examples/checkbox.md +++ b/ARIA/apg/patterns/checkbox/examples/checkbox.md @@ -12,7 +12,7 @@ permalink: /ARIA/apg/patterns/checkbox/examples/checkbox/ sidebar: true -footer: "
" +footer: " " # Context here: https://github.com/w3c/wai-aria-practices/issues/31 type_of_guidance: APG @@ -94,10 +94,8 @@ if (enableSidebar) document.body.classList.add('has-sidebar');This example implements the Checkbox Pattern for a two state checkbox using div
elements.
Similar examples include:
diff --git a/ARIA/apg/patterns/combobox/combobox-pattern.md b/ARIA/apg/patterns/combobox/combobox-pattern.md index 718a5d967..888e772e1 100644 --- a/ARIA/apg/patterns/combobox/combobox-pattern.md +++ b/ARIA/apg/patterns/combobox/combobox-pattern.md @@ -143,9 +143,8 @@ if (enableSidebar) document.body.classList.add('has-sidebar');select
element.The below combobox for choosing the name of a US state or territory demonstrates the Combobox Pattern. The design pattern describes four types of autocomplete behavior. diff --git a/ARIA/apg/patterns/combobox/examples/combobox-autocomplete-list.md b/ARIA/apg/patterns/combobox/examples/combobox-autocomplete-list.md index 58f9491fd..9f550985a 100644 --- a/ARIA/apg/patterns/combobox/examples/combobox-autocomplete-list.md +++ b/ARIA/apg/patterns/combobox/examples/combobox-autocomplete-list.md @@ -12,7 +12,7 @@ permalink: /ARIA/apg/patterns/combobox/examples/combobox-autocomplete-list/ sidebar: true -footer: "
" +footer: " " # Context here: https://github.com/w3c/wai-aria-practices/issues/31 type_of_guidance: APG @@ -94,10 +94,8 @@ if (enableSidebar) document.body.classList.add('has-sidebar');The below combobox for choosing the name of a US state or territory demonstrates the Combobox Pattern. The design pattern describes four types of autocomplete behavior. diff --git a/ARIA/apg/patterns/combobox/examples/combobox-autocomplete-none.md b/ARIA/apg/patterns/combobox/examples/combobox-autocomplete-none.md index 3651155cd..2bdef41e9 100644 --- a/ARIA/apg/patterns/combobox/examples/combobox-autocomplete-none.md +++ b/ARIA/apg/patterns/combobox/examples/combobox-autocomplete-none.md @@ -12,7 +12,7 @@ permalink: /ARIA/apg/patterns/combobox/examples/combobox-autocomplete-none/ sidebar: true -footer: "
" +footer: " " # Context here: https://github.com/w3c/wai-aria-practices/issues/31 type_of_guidance: APG @@ -94,10 +94,8 @@ if (enableSidebar) document.body.classList.add('has-sidebar');The below combobox that enables users to choose a term from a hypothetical list of previously searched terms demonstrates the Combobox Pattern. The design pattern describes four types of autocomplete behavior. diff --git a/ARIA/apg/patterns/combobox/examples/combobox-datepicker.md b/ARIA/apg/patterns/combobox/examples/combobox-datepicker.md index adec07aaa..9a27ef9da 100644 --- a/ARIA/apg/patterns/combobox/examples/combobox-datepicker.md +++ b/ARIA/apg/patterns/combobox/examples/combobox-datepicker.md @@ -12,7 +12,7 @@ permalink: /ARIA/apg/patterns/combobox/examples/combobox-datepicker/ sidebar: true -footer: "
" +footer: " " # Context here: https://github.com/w3c/wai-aria-practices/issues/31 type_of_guidance: APG @@ -100,10 +100,8 @@ if (enableSidebar) document.body.classList.add('has-sidebar');The below date picker demonstrates an implementation of the Combobox Pattern that opens a dialog. The date picker dialog is opened by activating the choose date button or by moving keyboard focus to the combobox and pressing Down Arrow or Alt + Down Arrow. diff --git a/ARIA/apg/patterns/combobox/examples/combobox-select-only.md b/ARIA/apg/patterns/combobox/examples/combobox-select-only.md index 028193917..ee214694b 100644 --- a/ARIA/apg/patterns/combobox/examples/combobox-select-only.md +++ b/ARIA/apg/patterns/combobox/examples/combobox-select-only.md @@ -12,7 +12,7 @@ permalink: /ARIA/apg/patterns/combobox/examples/combobox-select-only/ sidebar: true -footer: "
" +footer: " " # Context here: https://github.com/w3c/wai-aria-practices/issues/31 type_of_guidance: APG @@ -94,10 +94,8 @@ if (enableSidebar) document.body.classList.add('has-sidebar');
The following example implementation of the Combobox Pattern demonstrates a single-select combobox widget that is functionally similar to an HTML select
element.
Unlike the editable combobox examples, this select-only combobox is not made with an <input>
element, and it does not accept freeform user input.
diff --git a/ARIA/apg/patterns/combobox/examples/grid-combo.md b/ARIA/apg/patterns/combobox/examples/grid-combo.md
index 463830e4d..ce648c692 100644
--- a/ARIA/apg/patterns/combobox/examples/grid-combo.md
+++ b/ARIA/apg/patterns/combobox/examples/grid-combo.md
@@ -12,7 +12,7 @@ permalink: /ARIA/apg/patterns/combobox/examples/grid-combo/
sidebar: true
-footer: "
The following example combobox implements the combobox pattern using a grid for the suggested values popup.
diff --git a/ARIA/apg/patterns/dialog-modal/dialog-modal-pattern.md b/ARIA/apg/patterns/dialog-modal/dialog-modal-pattern.md index 25f04db0d..28809d303 100644 --- a/ARIA/apg/patterns/dialog-modal/dialog-modal-pattern.md +++ b/ARIA/apg/patterns/dialog-modal/dialog-modal-pattern.md @@ -79,9 +79,8 @@ if (enableSidebar) document.body.classList.add('has-sidebar');The example below includes a date input field and a button that opens a date picker that implements the Dialog (Modal) Pattern. The dialog contains a calendar that uses the grid pattern to present buttons that enable the user to choose a day from the calendar. diff --git a/ARIA/apg/patterns/dialog-modal/examples/dialog.md b/ARIA/apg/patterns/dialog-modal/examples/dialog.md index b449ee2b1..f56eb2bcf 100644 --- a/ARIA/apg/patterns/dialog-modal/examples/dialog.md +++ b/ARIA/apg/patterns/dialog-modal/examples/dialog.md @@ -12,7 +12,7 @@ permalink: /ARIA/apg/patterns/dialog-modal/examples/dialog/ sidebar: true -footer: "
" +footer: " " # Context here: https://github.com/w3c/wai-aria-practices/issues/31 type_of_guidance: APG @@ -95,10 +95,8 @@ if (enableSidebar) document.body.classList.add('has-sidebar');
Following is an example implementation of the Dialog (Modal) Pattern.
The below Add Delivery Address
button opens a modal dialog that contains two buttons that open other dialogs.
diff --git a/ARIA/apg/patterns/disclosure/disclosure-pattern.md b/ARIA/apg/patterns/disclosure/disclosure-pattern.md
index d35de64ec..6c6c371fe 100644
--- a/ARIA/apg/patterns/disclosure/disclosure-pattern.md
+++ b/ARIA/apg/patterns/disclosure/disclosure-pattern.md
@@ -70,9 +70,8 @@ if (enableSidebar) document.body.classList.add('has-sidebar');
The following example demonstrates using the Disclosure Pattern to create a set of frequently asked questions where the answers may be independently shown or hidden.
diff --git a/ARIA/apg/patterns/disclosure/examples/disclosure-image-description.md b/ARIA/apg/patterns/disclosure/examples/disclosure-image-description.md index 99a1ad409..b9ca87d10 100644 --- a/ARIA/apg/patterns/disclosure/examples/disclosure-image-description.md +++ b/ARIA/apg/patterns/disclosure/examples/disclosure-image-description.md @@ -12,7 +12,7 @@ permalink: /ARIA/apg/patterns/disclosure/examples/disclosure-image-description/ sidebar: true -footer: " " +footer: " " # Context here: https://github.com/w3c/wai-aria-practices/issues/31 type_of_guidance: APG @@ -94,10 +94,8 @@ if (enableSidebar) document.body.classList.add('has-sidebar');The following example demonstrates using the Disclosure Pattern to provide a way of revealing a table of data that complements an image.
diff --git a/ARIA/apg/patterns/disclosure/examples/disclosure-navigation-hybrid.md b/ARIA/apg/patterns/disclosure/examples/disclosure-navigation-hybrid.md index 26b93ea17..60e8d9922 100644 --- a/ARIA/apg/patterns/disclosure/examples/disclosure-navigation-hybrid.md +++ b/ARIA/apg/patterns/disclosure/examples/disclosure-navigation-hybrid.md @@ -12,7 +12,7 @@ permalink: /ARIA/apg/patterns/disclosure/examples/disclosure-navigation-hybrid/ sidebar: true -footer: " " +footer: " " # Context here: https://github.com/w3c/wai-aria-practices/issues/31 type_of_guidance: APG @@ -103,11 +103,8 @@ if (enableSidebar) document.body.classList.add('has-sidebar'); Typical site navigation does not need all the keyboard interactions specified by the menu and menubar pattern. - - + +The following example demonstrates using the Disclosure Pattern to show and hide dropdown lists of links in a navigation bar for a mythical university web site. Unlike the other disclosure navigation menu example, this example includes top-level links alongside the disclosure buttons. diff --git a/ARIA/apg/patterns/disclosure/examples/disclosure-navigation.md b/ARIA/apg/patterns/disclosure/examples/disclosure-navigation.md index 33a69bef4..4fdeb0072 100644 --- a/ARIA/apg/patterns/disclosure/examples/disclosure-navigation.md +++ b/ARIA/apg/patterns/disclosure/examples/disclosure-navigation.md @@ -12,7 +12,7 @@ permalink: /ARIA/apg/patterns/disclosure/examples/disclosure-navigation/ sidebar: true -footer: "
" +footer: " " # Context here: https://github.com/w3c/wai-aria-practices/issues/31 type_of_guidance: APG @@ -103,10 +103,8 @@ if (enableSidebar) document.body.classList.add('has-sidebar'); Typical site navigation does not need all the keyboard interactions specified by the menu and menubar pattern. - + +The following example demonstrates using the Disclosure Pattern to show and hide dropdown lists of links in a navigation bar for a mythical university web site. Each disclosure button represents a section of the web site, and expanding it shows a list of links to pages within that section. diff --git a/ARIA/apg/patterns/feed/examples/feed.md b/ARIA/apg/patterns/feed/examples/feed.md index ed14685d9..6d9698aab 100644 --- a/ARIA/apg/patterns/feed/examples/feed.md +++ b/ARIA/apg/patterns/feed/examples/feed.md @@ -12,7 +12,7 @@ permalink: /ARIA/apg/patterns/feed/examples/feed/ sidebar: true -footer: "
" +footer: " " # Context here: https://github.com/w3c/wai-aria-practices/issues/31 type_of_guidance: APG @@ -88,10 +88,8 @@ if (enableSidebar) document.body.classList.add('has-sidebar');NOTE: The feed role is a new WAI-ARIA feature, introduced by WAI-ARIA 1.1. This page provides a proposed implementation of a feed component. diff --git a/ARIA/apg/patterns/feed/feed-pattern.md b/ARIA/apg/patterns/feed/feed-pattern.md index 39ea59724..c9a4d65b4 100644 --- a/ARIA/apg/patterns/feed/feed-pattern.md +++ b/ARIA/apg/patterns/feed/feed-pattern.md @@ -105,9 +105,8 @@ if (enableSidebar) document.body.classList.add('has-sidebar');
Example Implementation of Feed Pattern diff --git a/ARIA/apg/patterns/grid/examples/advanced-data-grid.md b/ARIA/apg/patterns/grid/examples/advanced-data-grid.md index 317f5241f..86329c818 100644 --- a/ARIA/apg/patterns/grid/examples/advanced-data-grid.md +++ b/ARIA/apg/patterns/grid/examples/advanced-data-grid.md @@ -12,7 +12,7 @@ permalink: /ARIA/apg/patterns/grid/examples/advanced-data-grid/ sidebar: true -footer: "
" +footer: " " # Context here: https://github.com/w3c/wai-aria-practices/issues/31 type_of_guidance: APG @@ -101,10 +101,8 @@ if (enableSidebar) document.body.classList.add('has-sidebar');This example has not yet been developed. Development is described in issue 155. diff --git a/ARIA/apg/patterns/grid/examples/data-grids.md b/ARIA/apg/patterns/grid/examples/data-grids.md index 457fad361..dff878f38 100644 --- a/ARIA/apg/patterns/grid/examples/data-grids.md +++ b/ARIA/apg/patterns/grid/examples/data-grids.md @@ -12,7 +12,7 @@ permalink: /ARIA/apg/patterns/grid/examples/data-grids/ sidebar: true -footer: "
" +footer: " " # Context here: https://github.com/w3c/wai-aria-practices/issues/31 type_of_guidance: APG @@ -101,10 +101,8 @@ if (enableSidebar) document.body.classList.add('has-sidebar');Following are three example implementations of the Grid Pattern that demonstrate the keyboard interactions and ARIA features that enable accessible, interactive presentation of tabular information. Each of the following three grids presents a set of financial transactions. diff --git a/ARIA/apg/patterns/grid/examples/layout-grids.md b/ARIA/apg/patterns/grid/examples/layout-grids.md index 199526969..436338406 100644 --- a/ARIA/apg/patterns/grid/examples/layout-grids.md +++ b/ARIA/apg/patterns/grid/examples/layout-grids.md @@ -12,7 +12,7 @@ permalink: /ARIA/apg/patterns/grid/examples/layout-grids/ sidebar: true -footer: "
" +footer: " " # Context here: https://github.com/w3c/wai-aria-practices/issues/31 type_of_guidance: APG @@ -96,10 +96,8 @@ if (enableSidebar) document.body.classList.add('has-sidebar');The following examples demonstrate how the Grid Pattern can be used to group a collection of interactive widgets into a single tab stop. In these examples, each widget, such as a link or button, is in a separate cell of the grid, and the user can navigate between them with the arrow keys. diff --git a/ARIA/apg/patterns/grid/grid-pattern.md b/ARIA/apg/patterns/grid/grid-pattern.md index 5ecd923e8..2c321243f 100644 --- a/ARIA/apg/patterns/grid/grid-pattern.md +++ b/ARIA/apg/patterns/grid/grid-pattern.md @@ -95,9 +95,8 @@ if (enableSidebar) document.body.classList.add('has-sidebar');
The examples below demonstrate three variations of the Link Pattern.
The link pattern is used when it is necessary for elements other than the HTML a
element to have link behaviors.
diff --git a/ARIA/apg/patterns/link/link-pattern.md b/ARIA/apg/patterns/link/link-pattern.md
index e6cb9546f..5851d1dd7 100644
--- a/ARIA/apg/patterns/link/link-pattern.md
+++ b/ARIA/apg/patterns/link/link-pattern.md
@@ -74,9 +74,8 @@ if (enableSidebar) document.body.classList.add('has-sidebar');
Link Examples: Link widgets constructed from HTML span
and img
elements.
The following example implementation of the Listbox Pattern demonstrates a collapsible single-select listbox widget that is functionally similar to an HTML select
input with the attribute size="1"
.
The widget consists of a button that triggers the display of a listbox.
diff --git a/ARIA/apg/patterns/listbox/examples/listbox-grouped.md b/ARIA/apg/patterns/listbox/examples/listbox-grouped.md
index ec3ece502..8242b5049 100644
--- a/ARIA/apg/patterns/listbox/examples/listbox-grouped.md
+++ b/ARIA/apg/patterns/listbox/examples/listbox-grouped.md
@@ -12,7 +12,7 @@ permalink: /ARIA/apg/patterns/listbox/examples/listbox-grouped/
sidebar: true
-footer: "
The following example implementation of the Listbox Pattern demonstrates a single-select listbox widget with grouped options.
This widget is functionally similar to an HTML select
element with size
greater than 1 and options grouped into categories with labeled optgroup
elements.
diff --git a/ARIA/apg/patterns/listbox/examples/listbox-rearrangeable.md b/ARIA/apg/patterns/listbox/examples/listbox-rearrangeable.md
index 22d5bd302..da7ffc13a 100644
--- a/ARIA/apg/patterns/listbox/examples/listbox-rearrangeable.md
+++ b/ARIA/apg/patterns/listbox/examples/listbox-rearrangeable.md
@@ -12,7 +12,7 @@ permalink: /ARIA/apg/patterns/listbox/examples/listbox-rearrangeable/
sidebar: true
-footer: "
The following two example implementations of the Listbox Pattern demonstrate differences between single-select and multi-select functionality. In both examples, users can use action buttons to move options from one list to another. diff --git a/ARIA/apg/patterns/listbox/examples/listbox-scrollable.md b/ARIA/apg/patterns/listbox/examples/listbox-scrollable.md index 16b27f65b..12e434ec6 100644 --- a/ARIA/apg/patterns/listbox/examples/listbox-scrollable.md +++ b/ARIA/apg/patterns/listbox/examples/listbox-scrollable.md @@ -12,7 +12,7 @@ permalink: /ARIA/apg/patterns/listbox/examples/listbox-scrollable/ sidebar: true -footer: "
" +footer: " " # Context here: https://github.com/w3c/wai-aria-practices/issues/31 type_of_guidance: APG @@ -95,10 +95,8 @@ if (enableSidebar) document.body.classList.add('has-sidebar');
The following example implementation of the Listbox Pattern demonstrates a scrollable single-select listbox widget.
This widget is functionally similar to an HTML select
input where the size
attribute has a value greater than one.
diff --git a/ARIA/apg/patterns/listbox/listbox-pattern.md b/ARIA/apg/patterns/listbox/listbox-pattern.md
index c08d2224c..466f6887c 100644
--- a/ARIA/apg/patterns/listbox/listbox-pattern.md
+++ b/ARIA/apg/patterns/listbox/listbox-pattern.md
@@ -90,9 +90,8 @@ if (enableSidebar) document.body.classList.add('has-sidebar');
select
with size
attribute greater than one.
This example demonstrates how the Menu Button Pattern can be used to create a button that opens an actions menu.
In this example, choosing an action from the menu will cause the chosen action to be displayed in the Last Action
edit box.
diff --git a/ARIA/apg/patterns/menu-button/examples/menu-button-actions.md b/ARIA/apg/patterns/menu-button/examples/menu-button-actions.md
index 00ae63ae4..1b61d52ad 100644
--- a/ARIA/apg/patterns/menu-button/examples/menu-button-actions.md
+++ b/ARIA/apg/patterns/menu-button/examples/menu-button-actions.md
@@ -12,7 +12,7 @@ permalink: /ARIA/apg/patterns/menu-button/examples/menu-button-actions/
sidebar: true
-footer: "
This example demonstrates how the Menu Button Pattern can be used to create a button that opens an actions menu.
In this example, choosing an action from the menu will cause the chosen action to be displayed in the Last Action
edit box.
diff --git a/ARIA/apg/patterns/menu-button/examples/menu-button-links.md b/ARIA/apg/patterns/menu-button/examples/menu-button-links.md
index cd96d981e..7c7a83813 100644
--- a/ARIA/apg/patterns/menu-button/examples/menu-button-links.md
+++ b/ARIA/apg/patterns/menu-button/examples/menu-button-links.md
@@ -12,7 +12,7 @@ permalink: /ARIA/apg/patterns/menu-button/examples/menu-button-links/
sidebar: true
-footer: "
This example demonstrates the Menu Button Pattern for a button that displays a menu of link targets. The menu items are made from HTML links, so they maintain their HTML link behaviors. diff --git a/ARIA/apg/patterns/menu-button/menu-button-pattern.md b/ARIA/apg/patterns/menu-button/menu-button-pattern.md index 4dc578da5..6d829c59d 100644 --- a/ARIA/apg/patterns/menu-button/menu-button-pattern.md +++ b/ARIA/apg/patterns/menu-button/menu-button-pattern.md @@ -68,9 +68,8 @@ if (enableSidebar) document.body.classList.add('has-sidebar');
The following example demonstrates using the Menubar Pattern to provide access to editing actions for a text area. Each item in the menubar identifies a category of text formatting actions that can be executed from its submenu. diff --git a/ARIA/apg/patterns/menubar/examples/menubar-navigation.md b/ARIA/apg/patterns/menubar/examples/menubar-navigation.md index c35b73256..3f5e65435 100644 --- a/ARIA/apg/patterns/menubar/examples/menubar-navigation.md +++ b/ARIA/apg/patterns/menubar/examples/menubar-navigation.md @@ -12,7 +12,7 @@ permalink: /ARIA/apg/patterns/menubar/examples/menubar-navigation/ sidebar: true -footer: "
" +footer: " " # Context here: https://github.com/w3c/wai-aria-practices/issues/31 type_of_guidance: APG @@ -105,10 +105,8 @@ if (enableSidebar) document.body.classList.add('has-sidebar'); For an example, see Example Disclosure Navigation Menu.The following implementation of the Menubar Pattern demonstrates how a menubar can provide navigation menus. The parent menu items in the menubar represent a section of a mythical university web site and open a submenu containing menu items that link to pages within that section. diff --git a/ARIA/apg/patterns/menubar/menu-and-menubar-pattern.md b/ARIA/apg/patterns/menubar/menu-and-menubar-pattern.md index e122c3a81..a779de41a 100644 --- a/ARIA/apg/patterns/menubar/menu-and-menubar-pattern.md +++ b/ARIA/apg/patterns/menubar/menu-and-menubar-pattern.md @@ -77,9 +77,8 @@ if (enableSidebar) document.body.classList.add('has-sidebar');
A common convention for indicating that a menu item launches a dialog box is to append "…" (ellipsis) to the menu item label, e.g., "Save as …".
The following example of a CPU meter demonstrates the Meter Pattern.
+ No ARIA is better than Bad ARIA. Before using any ARIA, read this to understand why. +
++ No ARIA is better than Bad ARIA. Before using any ARIA, read this to understand why. +
+presentation
Role
- presentation
Role
+