Skip to content

Commit

Permalink
Merge pull request #3218 from dequelabs/release-4.3.4
Browse files Browse the repository at this point in the history
chore(release): 4.3.4
  • Loading branch information
WilcoFiers authored Oct 25, 2021
2 parents 57b207c + cc13ddf commit 505e6ba
Show file tree
Hide file tree
Showing 104 changed files with 2,551 additions and 560 deletions.
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

0 comments on commit 505e6ba

Please sign in to comment.