Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(release): 4.3.4 #3218

Merged
merged 31 commits into from
Oct 25, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
3ee340d
tests: ensure after and reporter methods can run in isolated context …
straker Aug 26, 2021
92a46af
docs: add a11y-sitechecker to community projects (#3147)
forsti0506 Sep 8, 2021
ad584a1
fix(nativeSelectValue): update selected value on change (#3154)
kevin940726 Sep 13, 2021
69b2e33
fix: check for hidden elements on `aria-errormessage` (#3156)
Zidious Sep 24, 2021
5f2e517
fix(typescript): allow passing a NodeList to ElementContext (#3161)
kaelig Sep 27, 2021
cf58aea
fix(is-visible): do not error if window.Node does not exist (#3168)
straker Sep 28, 2021
76aa5ec
fix(aria-allowed-attr): check for invalid `aria-attributes` for `role…
Zidious Oct 1, 2021
ac913a1
fix(color-contrast): account for 0 width scroll regions with children…
straker Oct 1, 2021
e0d4dc6
fix(p-as-heading): `p-as-heading` rule to account for `textContent` l…
Zidious Oct 4, 2021
b08b918
chore(p-as-heading): add `margin` description back to `check-options.…
Zidious Oct 4, 2021
7a82834
tests: check that every check has a message for every return type and…
straker Oct 5, 2021
84229d4
fix(color-contrast): account for elements that do not fill entire bou…
straker Oct 6, 2021
aa9c145
docs: create issue impact documentation (#3164)
dylanb Oct 7, 2021
d742b29
fix(aria-allowed-children,aria-allowed-parent): allow group role in l…
straker Oct 8, 2021
5aa0441
fix(color-contrast): properly blend multiple alpha colors (#3193)
straker Oct 8, 2021
66db765
fix(aria-allowed-role): updates the allowed roles for the wbr element…
scottaohara Oct 8, 2021
ab636ef
fix(label-title-only): allow hidden labels (#3183)
macjohnny Oct 8, 2021
7e6e6da
fix: Separate Level AAA rules from A and best-practices (#3191)
WilcoFiers Oct 12, 2021
26a0040
docs: Update rule-proposal to add link to tag assignment (#3184)
dylanb Oct 13, 2021
0ea7e1b
fix(color-contrast): correctly apply page background color (#3207)
straker Oct 13, 2021
0be12e6
fix: greater consistency of help / description text (#3204)
WilcoFiers Oct 14, 2021
f9cf9fa
fix(aria-prohibited-attr): update metadata message (#3206)
Zidious Oct 14, 2021
4c8882d
docs: update rule-descriptions (#3211)
straker Oct 15, 2021
80d91c0
fix(color-contrast): correctly handle nested scroll regions (#3212)
straker Oct 15, 2021
0322070
fix(color-contrast): correctly work with positioned elements without …
straker Oct 18, 2021
4adb911
fix(color-contrast): correctly compute color-contrast of truncated ch…
straker Oct 18, 2021
5925898
fix(axe.configure): do not remove newline characters from locale doT …
straker Oct 18, 2021
023f356
fix(axe.run): add option to increase iframe ping timeout (#3233)
straker Oct 22, 2021
4d85bb7
chore(release): 4.3.4
straker Oct 22, 2021
e1cd670
test: fix for release
straker Oct 22, 2021
cc13ddf
chore: update with 4.2.4 sri-history and changelog
straker Oct 25, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,16 @@ jobs:
- run: npm run build
- run: npm run test:locales

# Test virtual rules
test_virtual_rules:
<<: *defaults
<<: *unix_box
steps:
- checkout
- <<: *restore_dependency_cache_unix
- run: npm run build
- run: npm run test:virtual-rules

# Run the test suite for nightly builds.
test_nightly:
<<: *defaults
Expand Down Expand Up @@ -262,6 +272,9 @@ workflows:
- test_locales:
requires:
- test_unix
- test_virtual_rules:
requires:
- test_unix
- build_api_docs:
requires:
- test_unix
Expand All @@ -279,6 +292,7 @@ workflows:
- test_win
- test_examples
- test_locales
- test_virtual_rules
- build_api_docs
- test_rule_help_version
- test_node
Expand All @@ -293,6 +307,7 @@ workflows:
- test_unix
- test_examples
- test_locales
- test_virtual_rules
- build_api_docs
filters:
branches:
Expand All @@ -304,6 +319,7 @@ workflows:
- test_unix
- test_examples
- test_locales
- test_virtual_rules
- build_api_docs
- test_rule_help_version
- test_node
Expand Down
32 changes: 32 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,32 @@

All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.

### [4.3.4](https://github.com/dequelabs/axe-core/compare/v4.3.3...v4.3.4) (2021-10-22)

### Bug Fixes

- **aria-allowed-attr:** check for invalid `aria-attributes` for `role="row"` ([#3160](https://github.com/dequelabs/axe-core/issues/3160)) ([76aa5ec](https://github.com/dequelabs/axe-core/commit/76aa5ec5ac8a311b90974f0dba9cf92594f92019))
- **aria-allowed-children,aria-allowed-parent:** allow group role in listbox ([#3195](https://github.com/dequelabs/axe-core/issues/3195)) ([d742b29](https://github.com/dequelabs/axe-core/commit/d742b299370afa23645b1292ffc15f753113e05a))
- **aria-allowed-role:** updates the allowed roles for the wbr element to none and presentation ([#3192](https://github.com/dequelabs/axe-core/issues/3192)) ([66db765](https://github.com/dequelabs/axe-core/commit/66db765a17b5dc0904fcafe83aeb7c3eb5d60c12)), closes [#3177](https://github.com/dequelabs/axe-core/issues/3177)
- **aria-prohibited-attr:** update metadata message ([#3206](https://github.com/dequelabs/axe-core/issues/3206)) ([f9cf9fa](https://github.com/dequelabs/axe-core/commit/f9cf9fafe10e944be643d642cffda4fc762d0fc5))
- **axe.configure:** do not remove newline characters from locale doT strings ([#3216](https://github.com/dequelabs/axe-core/issues/3216)) ([5925898](https://github.com/dequelabs/axe-core/commit/59258984c0e52d91342040291fcc6f05ce2f135f))
- **axe.run:** add option to increase iframe ping timeout ([#3233](https://github.com/dequelabs/axe-core/issues/3233)) ([023f356](https://github.com/dequelabs/axe-core/commit/023f356ae752c559fb3788c84b1937bd2ba047ee))
- **color-contrast:** account for 0 width scroll regions with children ([#3172](https://github.com/dequelabs/axe-core/issues/3172)) ([ac913a1](https://github.com/dequelabs/axe-core/commit/ac913a11ddd8fd3b242a6ee500773c17fef77011))
- **color-contrast:** account for elements that do not fill entire bounding size ([#3186](https://github.com/dequelabs/axe-core/issues/3186)) ([84229d4](https://github.com/dequelabs/axe-core/commit/84229d41969907a62876488dc7a8f070542a9fe6))
- **color-contrast:** correctly apply page background color ([#3207](https://github.com/dequelabs/axe-core/issues/3207)) ([0ea7e1b](https://github.com/dequelabs/axe-core/commit/0ea7e1b881bb06067e98bae8ffe814605404475f))
- **color-contrast:** correctly compute color-contrast of truncated children ([#3203](https://github.com/dequelabs/axe-core/issues/3203)) ([4adb911](https://github.com/dequelabs/axe-core/commit/4adb9119a8a1cb457db81a40534db103c14bd2a1))
- **color-contrast:** correctly handle nested scroll regions ([#3212](https://github.com/dequelabs/axe-core/issues/3212)) ([80d91c0](https://github.com/dequelabs/axe-core/commit/80d91c01e46072ae8d36b952dfc264ef6f13eada))
- **color-contrast:** correctly work with positioned elements without z-index ([#3209](https://github.com/dequelabs/axe-core/issues/3209)) ([0322070](https://github.com/dequelabs/axe-core/commit/03220704c9dfa6f3af8d13800f9861e16552854b))
- greater consistency of help / description text ([#3204](https://github.com/dequelabs/axe-core/issues/3204)) ([0be12e6](https://github.com/dequelabs/axe-core/commit/0be12e62e5c0b2f1d280a7b17380281a30ae65f0))
- Separate Level AAA rules from A and best-practices ([#3191](https://github.com/dequelabs/axe-core/issues/3191)) ([7e6e6da](https://github.com/dequelabs/axe-core/commit/7e6e6da379eb2cb852a84c4ce088df7065740b61))
- **color-contrast:** properly blend multiple alpha colors ([#3193](https://github.com/dequelabs/axe-core/issues/3193)) ([5aa0441](https://github.com/dequelabs/axe-core/commit/5aa0441f2b33f8e1055ac32d981df4f796f7bb88))
- **is-visible:** do not error if window.Node does not exist ([#3168](https://github.com/dequelabs/axe-core/issues/3168)) ([cf58aea](https://github.com/dequelabs/axe-core/commit/cf58aea086a7bd590838673068d34325b4e9eef7))
- **label-title-only:** allow hidden labels ([#3183](https://github.com/dequelabs/axe-core/issues/3183)) ([ab636ef](https://github.com/dequelabs/axe-core/commit/ab636efa743ba2cbf1194b87aa27be5aba70989b))
- **nativeSelectValue:** update selected value on change ([#3154](https://github.com/dequelabs/axe-core/issues/3154)) ([ad584a1](https://github.com/dequelabs/axe-core/commit/ad584a10fc4b6c601c887835d7c879c77dc143d9))
- **p-as-heading:** `p-as-heading` rule to account for `textContent` length ([#3145](https://github.com/dequelabs/axe-core/issues/3145)) ([e0d4dc6](https://github.com/dequelabs/axe-core/commit/e0d4dc63bdd391a92f833d83b50644934deb7804))
- **typescript:** allow passing a NodeList to ElementContext ([#3161](https://github.com/dequelabs/axe-core/issues/3161)) ([5f2e517](https://github.com/dequelabs/axe-core/commit/5f2e517c0038397e12c72ef322313443c25e7907))
- check for hidden elements on `aria-errormessage` ([#3156](https://github.com/dequelabs/axe-core/issues/3156)) ([69b2e33](https://github.com/dequelabs/axe-core/commit/69b2e33b4094512f2ccfd05393b567763bba2e11))

### [4.3.3](https://github.com/dequelabs/axe-core/compare/v4.3.2...v4.3.3) (2021-08-24)

### Bug Fixes
Expand Down Expand Up @@ -70,6 +96,12 @@ All notable changes to this project will be documented in this file. See [standa
- treat input with no role as textbox ([#2929](https://github.com/dequelabs/axe-core/issues/2929)) ([13d909d](https://github.com/dequelabs/axe-core/commit/13d909dd12dc40ab9ed448793aef5031e207d429))
- **types:** make `evaluate` check optional ([#2902](https://github.com/dequelabs/axe-core/issues/2902)) ([417f572](https://github.com/dequelabs/axe-core/commit/417f5724112e46f128efd5f56da9f891bf1e938c))

### [4.2.4](https://github.com/dequelabs/axe-core/compare/v4.2.3...v4.2.4) (2021-10-22)

### Bug Fixes

- **axe.run:** add option to increase iframe ping timeout ([#3233](https://github.com/dequelabs/axe-core/issues/3233)) ([99a848e](https://github.com/dequelabs/axe-core/commit/99a848e785793782b264aa55cd71f5a35c5677c9))

### [4.2.3](https://github.com/dequelabs/axe-core/compare/v4.2.2...v4.2.3) (2021-06-22)

### Bug Fixes
Expand Down
2 changes: 1 addition & 1 deletion axe.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ declare namespace axe {

type RunCallback = (error: Error, results: AxeResults) => void;

type ElementContext = Node | string | ContextObject;
type ElementContext = Node | NodeList | string | ContextObject;

interface TestEngine {
name: string;
Expand Down
2 changes: 1 addition & 1 deletion bower.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "axe-core",
"version": "4.3.3",
"version": "4.3.4",
"contributors": [
{
"name": "David Sturley",
Expand Down
28 changes: 19 additions & 9 deletions build/configure.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
'use strict';

var clone = require('clone');
var dot = require('@deque/dot');
var doT = require('@deque/dot');
var templates = require('./templates');
var buildManual = require('./build-manual');
var entities = new (require('html-entities').AllHtmlEntities)();
var packageJSON = require('../package.json');
var dotRegex = /\{\{.+?\}\}/g;
var doTRegex = /\{\{.+?\}\}/g;

var axeVersion = packageJSON.version.substring(
0,
Expand All @@ -18,7 +18,9 @@ var axeVersion = packageJSON.version.substring(
var descriptionTableHeader =
'| Rule ID | Description | Impact | Tags | Issue Type | ACT Rules |\n| :------- | :------- | :------- | :------- | :------- | :------- |\n';

dot.templateSettings.strip = false;
// prevent striping newline characters from strings (e.g. failure
// summaries). must be synced with lib/core/imports/index.js
doT.templateSettings.strip = false;

function getLocale(grunt, options) {
var localeFile;
Expand Down Expand Up @@ -62,6 +64,12 @@ function buildRules(grunt, options, commons, callback) {
'Rules that do not necessarily conform to WCAG success criterion but are industry accepted practices that improve the user experience.',
rules: []
},
wcag2aaa: {
title: 'WCAG 2.0 and 2.1 level AAA rules',
intro:
'Rules that check for conformance to WCAG AAA success criteria that can be fully automated.',
rules: []
},
experimental: {
title: 'Experimental Rules',
intro:
Expand Down Expand Up @@ -114,17 +122,17 @@ function buildRules(grunt, options, commons, callback) {
// objects handled later in publish-metadata.js
if (
typeof result.messages[key] !== 'object' &&
dotRegex.test(result.messages[key])
doTRegex.test(result.messages[key])
) {
result.messages[key] = dot
result.messages[key] = doT
.template(result.messages[key])
.toString();
}
});
}
//TODO this is actually failureSummaries, property name should better reflect that
if (result.failureMessage && dotRegex.test(result.failureMessage)) {
result.failureMessage = dot.template(result.failureMessage).toString();
if (result.failureMessage && doTRegex.test(result.failureMessage)) {
result.failureMessage = doT.template(result.failureMessage).toString();
}
return result;
}
Expand All @@ -144,9 +152,9 @@ function buildRules(grunt, options, commons, callback) {
summaries.forEach(function(summary) {
if (
summary.incompleteFallbackMessage &&
dotRegex.test(summary.incompleteFallbackMessage)
doTRegex.test(summary.incompleteFallbackMessage)
) {
result = dot.template(summary.incompleteFallbackMessage).toString();
result = doT.template(summary.incompleteFallbackMessage).toString();
}
});
return result;
Expand Down Expand Up @@ -335,6 +343,8 @@ function buildRules(grunt, options, commons, callback) {
rules = descriptions.deprecated.rules;
} else if (rule.tags.includes('experimental')) {
rules = descriptions.experimental.rules;
} else if (rule.tags.find(tag => tag.includes('aaa'))) {
rules = descriptions.wcag2aaa.rules;
} else if (rule.tags.includes('best-practice')) {
rules = descriptions.bestPractice.rules;
} else if (rule.tags.find(tag => tag.startsWith('wcag2a'))) {
Expand Down
2 changes: 2 additions & 0 deletions doc/API.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,10 @@ The `experimental`, `ACT` and `section508` tags are only added to some rules. Ea
| ---------------- | ---------------------------------------------------- |
| `wcag2a` | WCAG 2.0 Level A |
| `wcag2aa` | WCAG 2.0 Level AA |
| `wcag2aaa` | WCAG 2.0 Level AAA |
| `wcag21a` | WCAG 2.1 Level A |
| `wcag21aa` | WCAG 2.1 Level AA |
| `wcag21aaa` | WCAG 2.1 Level AAA |
| `best-practice` | Common accessibility best practices |
| `wcag***` | WCAG success criterion e.g. wcag111 maps to SC 1.1.1 |
| `ACT` | W3C approved Accessibility Conformance Testing rules |
Expand Down
46 changes: 46 additions & 0 deletions doc/check-options.md
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,34 @@ All checks allow these global options:
</tbody>
</table>

### aria-allowed-attr

<table>
<thead>
<tr>
<th>Option</th>
<th align="left">Default</th>
<th align="left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<code>validTreeRowAttrs</code>
</td>
<td align="left">
<pre lang=js><code>[
'aria-posinset',
'aria-setsize',
'aria-expanded',
'aria-level',
]</code></pre>
</td>
<td align="left">List of ARIA attributes that are not allowed on <code>role=row</code> when a descendant of a table or a grid</td>
</tr>
</tbody>
</table>

### color-contrast

| Option | Default | Description |
Expand Down Expand Up @@ -417,6 +445,24 @@ h6:not([role]),
</td>
<td align="left">Common CSS values used to display `p` elements as `h1-h6` elements determining if a `p` element is being improperly repurposed</td>
</tr>
<tr>
<td>
<code>passLength</code>
</td>
<td align="left">
<pre lang=js><code>"passLength": 1</code></pre>
</td>
<td align="left">Relative length, if the the candidate heading is X times or greater the length of the candidate paragraph, it will pass.</td>
</tr>
<tr>
<td>
<code>faiLength</code>
</td>
<td align="left">
<pre lang=js><code>"failLength": 0.5</code></pre>
</td>
<td align="left">Relative length, if the the candidate heading is X times or less the length of the candidate paragraph, it can fail.</td>
</tr>
</tbody>
</table>

Expand Down
21 changes: 21 additions & 0 deletions doc/issue_impact.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Issue Impacts

Axe-core assigns an impact according to our assessment of the likely impact of an issue on a user with a disability that would be affected by this issue. In any given context the actual impact for the user could be lower; in some instances, it could be higher. For this reason, we encourage users of tools to evaluate each individual issue and assess the impact in the context of their application or content.

## Definitions

### Minor

Considered to be a nuisance or an annoyance bug. Prioritize fixing if the fix only takes a few minutes and the developer is working on the same screen/feature at the same time, otherwise the issue should not be prioritized. Will still get in the way of compliance if not fixed.

### Moderate

Results in some difficulty for people with disabilities, but will generally not prevent them from accessing fundamental features or content. Users may be frustrated and abandon non-critical workflows. Prioritize fixing in this release, if there are no higher-priority issues. Will get in the way of compliance if not fixed.

### Serious

Results in serious barriers for people with disabilities, and will partially or fully prevent them from accessing fundamental features or content. People relying on assistive technologies will experience significant frustration and may abandon essential workflows. Issues falling under this category are major problems, and remediation should be a priority.

### Critical

Results in blocked content for people with disabilities, and will definitely prevent them from accessing fundamental features or content. This type of issue puts your organization at risk. Prioritize fixing as soon as possible, within the week if possible. Remediation should be a top priority.
1 change: 1 addition & 0 deletions doc/projects.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,3 +54,4 @@ Add your project/integration to this file and submit a pull request.
1. [axe-sarif-converter](https://github.com/microsoft/axe-sarif-converter)
1. [Selenium.Axe for .NET](https://github.com/TroyWalshProf/SeleniumAxeDotnet)
1. [vue-axe](https://github.com/vue-a11y/vue-axe-next)
1. [a11y-sitechecker](https://github.com/forsti0506/a11y-sitechecker)
Loading