diff --git a/doc/API.md b/doc/API.md index 9c292f754a..da6024734b 100644 --- a/doc/API.md +++ b/doc/API.md @@ -183,7 +183,7 @@ axe.configure({ - `any` - array(optional, default `[]`). This is a list of checks that, if none "pass", will generate a violation. - `all` - array(optional, default `[]`). This is a list of checks that, if any "fails", will generate a violation. - `none` - array(optional, default `[]`). This is a list of checks that, if any "pass", will generate a violation. - - `tags` - array(optional, default `[]`). A list if the tags that "classify" the rule. In practice, you must supply some valid tags or the default evaluation will not invoke the rule. The convention is to include the standard (WCAG 2 and/or section 508), the WCAG 2 level, Section 508 paragraph, and the WCAG 2 success criteria. Tags are constructed by converting all letters to lower case, removing spaces and periods and concatinating the result. E.g. WCAG 2 A success criteria 1.1.1 would become ["wcag2a", "wcag111"] + - `tags` - array(optional, default `[]`). A list if the tags that "classify" the rule. In practice, you must supply some valid tags or the default evaluation will not invoke the rule. The convention is to include the standard (WCAG 2 and/or section 508), the WCAG 2 level, Section 508 paragraph, and the WCAG 2 success criteria. Tags are constructed by converting all letters to lower case, removing spaces and periods and concatenating the result. E.g. WCAG 2 A success criteria 1.1.1 would become ["wcag2a", "wcag111"] - `matches` - string(optional, default `*`). A filtering [CSS selector](./developer-guide.md#supported-css-selectors) that will exclude elements that do not match the CSS selector. - `disableOtherRules` - Disables all rules not included in the `rules` property. - `locale` - A locale object to apply (at runtime) to all rules and checks, in the same shape as `/locales/*.json`. @@ -493,7 +493,7 @@ The `assets` attribute expects an array of preload(able) constraints to be fetch | Asset Type | Description | | :--------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `cssom` | This asset type preloads all CSS Stylesheets rulesets specified in the page. The stylessheets can be an external cross-domain resource, a relative stylesheet or an inline style with in the head tag of the document. If the stylesheet is an external cross-domain a network request is made. An object representing the CSS Rules from each stylesheet is made available to the checks evaluate function as `preloadedAssets` at run-time | +| `cssom` | This asset type preloads all CSS Stylesheets rulesets specified in the page. The stylesheets can be an external cross-domain resource, a relative stylesheet or an inline style with in the head tag of the document. If the stylesheet is an external cross-domain a network request is made. An object representing the CSS Rules from each stylesheet is made available to the checks evaluate function as `preloadedAssets` at run-time | The `timeout` attribute in the object configuration is `optional` and has a fallback default value (10000ms). The `timeout` is essential for any network dependent assets that are preloaded, where-in if a given request takes longer than the specified/ default value, the operation is aborted. @@ -745,7 +745,7 @@ The top-level document or shadow DOM document fragment #### axe.commons.dom.findUp -Recusively walk up the DOM, checking for a node which matches a selector. Warning: this should be used sparingly for performance reasons. +Recursively walk up the DOM, checking for a node which matches a selector. Warning: this should be used sparingly for performance reasons. ##### Synopsis diff --git a/doc/accessibility-supported.md b/doc/accessibility-supported.md index 7d904c35cc..8eca3c8350 100644 --- a/doc/accessibility-supported.md +++ b/doc/accessibility-supported.md @@ -4,7 +4,7 @@ In order to adhere to the manifesto and at the same time be useful to developers ## Accessibility supported -Boiled-down, accessibility supported means that in order for a technique to be valid, it must work on all viable platforms for all assitive technology that are widely used and freely available (paraphrased). +Boiled-down, accessibility supported means that in order for a technique to be valid, it must work on all viable platforms for all assistive technology that are widely used and freely available (paraphrased). We currently test the following AT combinations for support diff --git a/doc/code-submission-guidelines.md b/doc/code-submission-guidelines.md index 8219620cc6..518cc74bad 100644 --- a/doc/code-submission-guidelines.md +++ b/doc/code-submission-guidelines.md @@ -139,7 +139,7 @@ changes in the pull request, so the git log stays lean. We particularly want to You can use git's interactive rebase to manipulate, merge, and rename commits in your local history. If these steps are followed, a force push shouldn't be necessary. -**Do not force push to develop or master under any circulstances.** +**Do not force push to develop or master under any circumstances.** To interactively rebase all of your commits on top of the latest in develop, run: diff --git a/doc/developer-guide.md b/doc/developer-guide.md index 1a2f672cab..c86e3d9442 100644 --- a/doc/developer-guide.md +++ b/doc/developer-guide.md @@ -299,7 +299,7 @@ will make it easier to work with the virtual DOM. #### Description -Recursvely return an array containing the virtual DOM tree for the node specified, excluding comment nodes +Recursively return an array containing the virtual DOM tree for the node specified, excluding comment nodes and shadow DOM nodes `` and ``. This method will return a flattened tree containing both light and shadow DOM, if applicable. @@ -392,7 +392,7 @@ None #### Returns -An object containg the data, relatedNodes, and a way to reset them. +An object containing the data, relatedNodes, and a way to reset them. ```js { diff --git a/doc/plugins.md b/doc/plugins.md index 8d074b7367..436182db22 100644 --- a/doc/plugins.md +++ b/doc/plugins.md @@ -86,11 +86,11 @@ The plugin takes this information and sends the same instructions to its impleme The plugin waits for the commands in the iframes to complete and then executes its instances' action function within the current document. -In the above implementation, the axe promise utility `axe.utils.queue()` is used to coordinate the asynchronous handling of communication accross iframes. +In the above implementation, the axe promise utility `axe.utils.queue()` is used to coordinate the asynchronous handling of communication across iframes. The command handler callback runs the plugin's run function within each iframe. This essentially operates like a recursive call to the run function for the plugin within each iframe. -Once all the iframes' run functions have been executed, the callback is called. This essentially operates as a recursive "return" up the iframe heirarchy until at the top document, the actual callback function is executed. This can be leveraged to pass data back up the iframe hierarchy back to the caller (but this is a more advanced topic). +Once all the iframes' run functions have been executed, the callback is called. This essentially operates as a recursive "return" up the iframe hierarchy until at the top document, the actual callback function is executed. This can be leveraged to pass data back up the iframe hierarchy back to the caller (but this is a more advanced topic). #### Basic plugin instance diff --git a/doc/rule-development.md b/doc/rule-development.md index 2d2dd6424c..7fbe271bc3 100644 --- a/doc/rule-development.md +++ b/doc/rule-development.md @@ -100,11 +100,11 @@ Axe-core handles shadow DOM and cross-domain iframe rules very well - as long as The rule callbacks all receive both a `node` and a `virtualNode` argument (in addition to the `options` argument). `node` points to the DOM Node that is to be evaluated, whereas `virtualNode` points to the node in the flattened tree (the hierarchy that shadow DOM creates that is used for parent child relationships across shadow DOM boundaries). -If your rule looks at any hierarchical context (parents or children) then you need to operate on the `virtualNode` for those operations. Calls to `isHidden` and the accessible name calculation calls will all evaluate the hierarchy. The commons and utils functions will all fetch the `virtualNode` from the flattened tree if you use the `node` implementation (and then simply call the virtualNode one) and are there for backwards compatibility. This backwards compatibility comes at a perfomance cost that can be avoided by simply using the `virtualNode` to start with. We will ask you to change this during PR review, so you might as well just start out by using the `virtualNode`. +If your rule looks at any hierarchical context (parents or children) then you need to operate on the `virtualNode` for those operations. Calls to `isHidden` and the accessible name calculation calls will all evaluate the hierarchy. The commons and utils functions will all fetch the `virtualNode` from the flattened tree if you use the `node` implementation (and then simply call the virtualNode one) and are there for backwards compatibility. This backwards compatibility comes at a performance cost that can be avoided by simply using the `virtualNode` to start with. We will ask you to change this during PR review, so you might as well just start out by using the `virtualNode`. ## iframes -Rules that evaluate the structure and/or the number of elements on the entire page (for example the heading nesting rule, or the landmark rules) will need to do this evaluation across iframe boundaries. What this means is that the check function instead of determining pass/fail/incomplete, perfomas a data gathering function. This data is then passed up the iframe hierarchy to the top window where it is passed into the `after` function, which does the evaluation of the gathered data and determines pass/fail. +Rules that evaluate the structure and/or the number of elements on the entire page (for example the heading nesting rule, or the landmark rules) will need to do this evaluation across iframe boundaries. What this means is that the check function instead of determining pass/fail/incomplete, performs a data gathering function. This data is then passed up the iframe hierarchy to the top window where it is passed into the `after` function, which does the evaluation of the gathered data and determines pass/fail. ## Rules of Thumb for Rule Code Reviewers