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): v4.9.0 #4380

Merged
merged 75 commits into from
Mar 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
d69e061
Merge pull request #4169 from dequelabs/master
straker Sep 21, 2023
056fc1c
ci: unpin chromedriver version (#4174)
michael-siek Sep 28, 2023
513b091
chore: update or replace pinned `.x` deps (#4180)
straker Oct 12, 2023
449feed
chore: add `dependabot.yml` configuration (#4179)
straker Oct 12, 2023
56f104f
chore: bump the npm-low-risk group with 14 updates (#4183)
dependabot[bot] Oct 12, 2023
601442e
chore: bump eslint-config-prettier from 8.6.0 to 9.0.0 (#4184)
dependabot[bot] Oct 12, 2023
52b79ca
chore: bump chromedriver from 111.0.0 to 117.0.3 (#4185)
dependabot[bot] Oct 12, 2023
fd8322e
chore: bump typescript from 4.9.4 to 5.2.2 (#4186)
dependabot[bot] Oct 12, 2023
9f0bdd1
chore(deps): remove proxyquire (#4197)
straker Oct 16, 2023
9c70f22
chore: remove make-dir dependency (#4196)
straker Oct 16, 2023
0080a72
fix(scrollable-region-focusable): missing wcag213 tag (#4201)
WilcoFiers Oct 18, 2023
953812b
chore(dependabot): ignore inquirerv9 (#4195)
straker Oct 24, 2023
851b4db
chore: bump jsdom from 21.0.0 to 22.1.0 (#4215)
dependabot[bot] Oct 25, 2023
f6f628f
chore: bump sinon from 15.0.1 to 17.0.0 (#4214)
dependabot[bot] Oct 25, 2023
35b90c9
chore: bump lint-staged from 13.1.0 to 15.0.2 (#4213)
dependabot[bot] Oct 25, 2023
4e52d97
ci: pin chrome version to `118.0.5993.80` (#4220)
michael-siek Oct 25, 2023
4ea45e9
chore: bump chromedriver from 117.0.3 to 118.0.1 (#4211)
dependabot[bot] Oct 25, 2023
028b420
ci: update to node v18 (#4221)
straker Oct 26, 2023
456c232
chore: bump start-server-and-test from 1.15.2 to 2.0.1 (#4212)
dependabot[bot] Oct 26, 2023
ecf4dd4
chore: bump the npm-low-risk group with 5 updates (#4209)
dependabot[bot] Oct 26, 2023
12d4f52
chore: bump actions/setup-node from 3 to 4 (#4208)
dependabot[bot] Oct 26, 2023
9b8785c
chore: bump conventional-commits-parser from 3.2.4 to 5.0.0 (#4192)
dependabot[bot] Oct 26, 2023
dc202ff
chore: set minimum node version for dev to 18 (#4219)
WilcoFiers Oct 26, 2023
e473acf
chore: bump prettier from 2.8.2 to 3.0.3 (#4210)
dependabot[bot] Oct 31, 2023
4a4e9b4
docs: fix gramatical typos in README (#4222)
aschrab Nov 1, 2023
d660518
fix(d.ts): RawNodesResult issues (#4229)
WilcoFiers Nov 2, 2023
e53f5c5
fix(d.ts): RunOptions.reporter can be any string (#4218)
WilcoFiers Nov 2, 2023
8e2618c
chore: bump the npm-low-risk group with 2 updates (#4226)
dependabot[bot] Nov 2, 2023
2b3e343
ci: remove chromedriver pin (#4225)
michael-siek Nov 2, 2023
a81e82f
chore: bump chromedriver from 118.0.1 to 119.0.0 (#4227)
dependabot[bot] Nov 2, 2023
853a8ea
chore: update ACT tests (#4233)
WilcoFiers Nov 3, 2023
5df618d
ci: update browser-tools orb for CircleCI (#4237)
Zidious Nov 8, 2023
f7b8d5e
chore: Update local de.json (#4249)
EvilKarter Nov 28, 2023
f1af598
chore: fix prettier format for built files (#4258)
straker Nov 28, 2023
af0b548
docs: clarify that `incomplete` means "needs review" (#4268)
straker Dec 11, 2023
3ea9a48
feat(i18n): add Greek Translations (#3836)
sl45sms Dec 15, 2023
5eb867b
fix: add Object.values polyfill for node <=6 (#4274)
straker Dec 15, 2023
3658df8
ci: add matrix node test (#4275)
straker Dec 18, 2023
b63cd83
Merge pull request #4278 from dequelabs/master
straker Dec 18, 2023
99881a2
chore: bump jsdom from 22.1.0 to 23.0.1 (#4265)
dependabot[bot] Dec 18, 2023
3ce3e3d
chore: bump the npm-low-risk group with 12 updates (#4279)
dependabot[bot] Dec 18, 2023
db96afb
chore(dependabot): ignore esm chai >= 5.0.0 (#4296)
straker Jan 9, 2024
335841e
chore: bump chromedriver from 119.0.0 to 120.0.1 (#4292)
dependabot[bot] Jan 10, 2024
9a66768
chore: bump the npm-low-risk group with 6 updates (#4297)
dependabot[bot] Jan 11, 2024
b753f95
reset to develop and try again (#4190)
dependabot[bot] Jan 11, 2024
f3569c5
chore: add comment to rule-descriptions.md that it is a generated fil…
straker Jan 15, 2024
938b411
fix(utils/get-selector): ignore 'xmlns' attribute when generating a s…
thuey Jan 18, 2024
751657a
test: suppress "visible label in accessible name" ACT test issue (#4312)
dbjorge Jan 26, 2024
daa0fe6
fix: Add LICENSE-3RD-PARTY.txt file (#4304)
WilcoFiers Feb 1, 2024
b853b18
fix: avoid reading element-specific node properties of non-element no…
dbjorge Feb 1, 2024
12ded32
chore: bump chromedriver from 120.0.1 to 121.0.0 (#4319)
dependabot[bot] Feb 1, 2024
a2f6082
chore: bump jsdom from 23.2.0 to 24.0.0 (#4321)
dependabot[bot] Feb 1, 2024
2bdfc57
chore: bump the npm-low-risk group with 9 updates (#4318)
dependabot[bot] Feb 1, 2024
666558d
ci: replce `hub` with `gh` CLI (#4326)
michael-siek Feb 5, 2024
8b8c5c9
chore: bump husky from 8.0.3 to 9.0.7 (#4320)
dependabot[bot] Feb 6, 2024
6008422
chore: merge master into develop (#4330)
WilcoFiers Feb 22, 2024
ed737c7
ci: update `browser-tools` 1.4.8 (#4341)
michael-siek Feb 26, 2024
dd4c3c3
feat: adding the wcag131 tag to the aria-hidden-body rule (#4349)
CBID2 Mar 5, 2024
93940f5
chore: bump chromedriver from 121.0.0 to 122.0.4 (#4353)
dependabot[bot] Mar 5, 2024
a99cdc6
chore: bump the npm-low-risk group with 13 updates (#4352)
dependabot[bot] Mar 5, 2024
591607d
fix(aria-required-children): avoid confusing aria-busy message in fai…
dbjorge Mar 5, 2024
c5e11de
feat(i18n): Add Taiwanese Mandarin translation (#4299)
PMinn Mar 5, 2024
be0b555
feat(checks): deprecate aria-busy check (#4356)
dbjorge Mar 5, 2024
b292263
chore: sync generated files (#4354)
github-actions[bot] Mar 8, 2024
54baa8d
chore: bump the npm-low-risk group with 3 updates (#4364)
dependabot[bot] Mar 8, 2024
bdb7300
fix(color-contrast): handle text that is outside `overflow: hidden` a…
straker Mar 12, 2024
9e70199
feat(color): add color channel values and luminosity, saturation, cli…
straker Mar 12, 2024
de1baa9
feat(i18n): Add Italian translation (#4344)
nthnbch Mar 13, 2024
7ae4761
fix(color-contrast): support color blend modes hue, saturation, color…
straker Mar 13, 2024
0f8a9af
fix(listitem): clarify roleNotValid message (#4374)
WilcoFiers Mar 18, 2024
1dbea83
fix(target-size): do not crash for nodes with many overlapping widget…
straker Mar 18, 2024
be327c4
fix(target-size): always pass 10x targets (avoid perf bottleneck) (#4…
WilcoFiers Mar 18, 2024
4d65d4b
fix(i18n): update Italian translations (#4377)
straker Mar 22, 2024
bda7c8d
feat(i18n): Add Simplified Chinese translation (#4379)
stout-ni Mar 25, 2024
3a6ce3c
chore(release): 4.9.0
attest-team-ci Mar 25, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
20 changes: 9 additions & 11 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@ defaults: &defaults

unix_box: &unix_box
docker:
- image: cimg/node:16.18-browsers
- image: cimg/node:18.18-browsers

unix_nightly_box: &unix_nightly_box
docker:
- image: cimg/node:lts-browsers

orbs:
puppeteer: threetreeslight/puppeteer@0.1.2
browser-tools: circleci/browser-tools@1.4.4
browser-tools: circleci/browser-tools@1.4.8

set_npm_auth: &set_npm_auth
run: npm config set "//registry.npmjs.org/:_authToken" $NPM_AUTH
Expand All @@ -33,9 +33,7 @@ restore_build: &restore_build
commands:
browser-tools-job:
steps:
- browser-tools/install-browser-tools:
# TODO: remove when chromedriver downloads are fixed
chrome-version: 116.0.5845.96
- browser-tools/install-browser-tools

jobs:
# Fetch and cache dependencies.
Expand Down Expand Up @@ -243,15 +241,15 @@ jobs:
- <<: *restore_dependency_cache_unix
- run: npm run test:rule-help-version

# Test node API
test_node:
# Test jsdom API
test_jsdom:
<<: *defaults
<<: *unix_box
steps:
- checkout
- <<: *restore_dependency_cache_unix
- <<: *restore_build
- run: npm run test:node
- run: npm run test:jsdom

# Release a "next" version
next_release:
Expand Down Expand Up @@ -363,7 +361,7 @@ workflows:
- test_rule_help_version:
requires:
- build_unix
- test_node:
- test_jsdom:
requires:
- build_unix
# Verify the sri history is correct
Expand All @@ -388,7 +386,7 @@ workflows:
- test_virtual_rules
- build_api_docs
- test_rule_help_version
- test_node
- test_jsdom
- verify_sri
filters:
branches:
Expand All @@ -406,7 +404,7 @@ workflows:
- test_virtual_rules
- build_api_docs
- test_rule_help_version
- test_node
- test_jsdom
filters:
branches:
only: develop
Expand Down
2 changes: 1 addition & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ module.exports = {
root: true,
extends: ['prettier'],
parserOptions: {
ecmaVersion: 2021
ecmaVersion: 2023
},
env: {
node: true,
Expand Down
44 changes: 44 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
version: 2

updates:
- package-ecosystem: 'github-actions'
directory: '/'
schedule:
interval: 'monthly'
open-pull-requests-limit: 10
commit-message:
prefix: 'chore'
groups:
# Any updates not caught by the group config will get individual PRs
gha-low-risk:
update-types:
- 'minor'
- 'patch'

- package-ecosystem: 'npm'
directory: '/'
schedule:
interval: 'monthly'
open-pull-requests-limit: 10
commit-message:
prefix: 'chore'
ignore:
# Prevent updates to ESM-only versions
- dependency-name: 'chalk'
versions: ['>=5.0.0']
- dependency-name: 'execa'
versions: ['>=6.0.0']
- dependency-name: 'inquirer'
versions: ['>=9.0.0']
- dependency-name: 'chai'
versions: ['>=5.0.0']
# Prevent Webpack error caused by v0.11+ of esbuild
# @see https://github.com/dequelabs/axe-core/issues/3771
- dependency-name: 'esbuild'
versions: ['>=0.11.0']
groups:
# Any updates not caught by the group config will get individual PRs
npm-low-risk:
update-types:
- 'minor'
- 'patch'
15 changes: 5 additions & 10 deletions .github/workflows/format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,26 +6,21 @@ jobs:
prettier:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.ref }}
- name: Install dependencies
run: npm ci
- name: Cache node_modules
uses: actions/cache@v3
with:
path: |
./node_modules
key: npm-workspace-cache-${{ runner.os }}-${{ hashFiles('./package-lock.json') }}
- uses: actions/setup-node@v1
- uses: actions/setup-node@v4
with:
node-version: 16
cache: 'npm'
# Workflows are not allowed to edit workflows. As result, we need to prevent Prettier from formatting them.
- name: Prevent workflows from being formatted
run: echo ".github" >> .prettierignore
run: echo ".github" >> .prettierignore && cat .prettierignore
- run: npm run fmt
# Prevent the prettierignore change from being committed.
- run: git checkout .prettierignore
- uses: stefanzweifel/git-auto-commit-action@v4
- uses: stefanzweifel/git-auto-commit-action@8756aa072ef5b4a080af5dc8fef36c5d586e521d # tag=v5
with:
commit_message: ':robot: Automated formatting fixes'
4 changes: 2 additions & 2 deletions .github/workflows/label-extension-linter-issues.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ jobs:
issues: write
steps:
- name: Label Extension Issues
uses: andymckay/labeler@1.0.4
uses: andymckay/labeler@e6c4322d0397f3240f0e7e30a33b5c5df2d39e90 # tag=1
if: contains(toJson(github.event.issue.body), '### Product\n\naxe Extension\n\n')
with:
add-labels: 'extension'
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Label Linting Issues
uses: andymckay/labeler@1.0.4
uses: andymckay/labeler@e6c4322d0397f3240f0e7e30a33b5c5df2d39e90 # tag=1
if: contains(toJson(github.event.issue.body), '### Product\n\naxe Linter\n\n')
with:
add-labels: 'linting'
Expand Down
13 changes: 4 additions & 9 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,13 @@ jobs:
name: Create release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/cache@v3
with:
path: ./node_modules
key: npm-cache-${{ runner.os }}-${{ hashFiles('./package-lock.json') }}
- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
node-version: 16
cache: 'npm'
- name: Run release script and open PR
run: |
git config user.name "API Team CI User"
Expand All @@ -42,11 +39,9 @@ jobs:
--output-indicator-new=! CHANGELOG.md | egrep '^!' | awk -F'^[!]' '{print $2}' | sed -e 's/\n/$0A/g'
)

echo "chore(release): v$Version" > /tmp/pr.txt
echo "" >> /tmp/pr.txt
echo "$ReleaseNotes" >> /tmp/pr.txt
echo "" >> /tmp/pr.txt
echo "This PR was opened by a robot :robot: :tada:" >> /tmp/pr.txt
hub pull-request --file /tmp/pr.txt --base master
gh pr create --title "chore(release): v$Version" --body-file "/tmp/pr.txt" --base master
env:
GITHUB_TOKEN: ${{ secrets.PAT }}
45 changes: 45 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Tests

on:
pull_request:
push:
branches:
- master
- develop

jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'
- run: npm ci
- run: npm run build
# v4 download seems to have some flakiness with the download of artifacts so pinning to v3 for now
# @see https://github.com/actions/download-artifact/issues/249
- uses: actions/upload-artifact@v3
with:
name: axe-core
path: axe.js
retention-days: 1

test_node:
strategy:
matrix:
node: [6, 18, 20]
runs-on: ubuntu-latest
timeout-minutes: 5
needs: build
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node}}
- uses: actions/download-artifact@v3
with:
name: axe-core
- run: npm run test:node
2 changes: 1 addition & 1 deletion .github/workflows/update-generated-files.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0

Expand Down
3 changes: 0 additions & 3 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1,5 +1,2 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"

npx grunt configure
npx lint-staged
2 changes: 1 addition & 1 deletion .jsdoc.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"destination": "./doc/api",
"encoding": "utf8",
"recurse": true,
"template": "./node_modules/minami"
"template": "./node_modules/clean-jsdoc-theme"
},
"plugins": ["plugins/markdown"]
}
2 changes: 1 addition & 1 deletion .prettierignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
node_modules/
doc/api
doc/api
29 changes: 29 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,35 @@

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.9.0](https://github.com/dequelabs/axe-core/compare/v4.8.4...v4.9.0) (2024-03-25)

### Features

- adding the wcag131 tag to the aria-hidden-body rule ([#4349](https://github.com/dequelabs/axe-core/issues/4349)) ([dd4c3c3](https://github.com/dequelabs/axe-core/commit/dd4c3c34a42d2b96f5495890f5c5d5e8f6ca8d32)), closes [#4315](https://github.com/dequelabs/axe-core/issues/4315)
- **checks:** deprecate aria-busy check ([#4356](https://github.com/dequelabs/axe-core/issues/4356)) ([be0b555](https://github.com/dequelabs/axe-core/commit/be0b5558acfbeb6bbb176ac7fd7d8fdfb973b30b)), closes [#4347](https://github.com/dequelabs/axe-core/issues/4347) [#4340](https://github.com/dequelabs/axe-core/issues/4340)
- **color:** add color channel values and luminosity, saturation, clip functions ([#4366](https://github.com/dequelabs/axe-core/issues/4366)) ([9e70199](https://github.com/dequelabs/axe-core/commit/9e7019990bbbf5182ab50c5c968143b81d216dcb)), closes [/github.com/dequelabs/axe-core/pull/4365/files#r1517706612](https://github.com/dequelabs//github.com/dequelabs/axe-core/pull/4365/files/issues/r1517706612)
- **i18n:** add Greek Translations ([#3836](https://github.com/dequelabs/axe-core/issues/3836)) ([3ea9a48](https://github.com/dequelabs/axe-core/commit/3ea9a48cf88d02271db8b19651bff0415237b856))
- **i18n:** Add Italian translation ([#4344](https://github.com/dequelabs/axe-core/issues/4344)) ([de1baa9](https://github.com/dequelabs/axe-core/commit/de1baa9a9f6495f695d25d61d14ed55983dded76))
- **i18n:** Add Simplified Chinese translation ([#4379](https://github.com/dequelabs/axe-core/issues/4379)) ([bda7c8d](https://github.com/dequelabs/axe-core/commit/bda7c8d8bf5936a56c66240e1ea0373a3b769809))
- **i18n:** Add Taiwanese Mandarin translation ([#4299](https://github.com/dequelabs/axe-core/issues/4299)) ([c5e11de](https://github.com/dequelabs/axe-core/commit/c5e11de06973392b113906c05e3a3004af4c38ae))

### Bug Fixes

- Add LICENSE-3RD-PARTY.txt file ([#4304](https://github.com/dequelabs/axe-core/issues/4304)) ([daa0fe6](https://github.com/dequelabs/axe-core/commit/daa0fe677d4837c9c79bad8ee6c77aff11212339))
- add Object.values polyfill for node <=6 ([#4274](https://github.com/dequelabs/axe-core/issues/4274)) ([5eb867b](https://github.com/dequelabs/axe-core/commit/5eb867b04e174140122c62eb5c705a842a3489e1))
- **aria-required-children:** avoid confusing aria-busy message in failures ([#4347](https://github.com/dequelabs/axe-core/issues/4347)) ([591607d](https://github.com/dequelabs/axe-core/commit/591607dd829c11e2cca5beee12c75628d1a8235e)), closes [#fail13](https://github.com/dequelabs/axe-core/issues/fail13) [#4340](https://github.com/dequelabs/axe-core/issues/4340)
- avoid reading element-specific node properties of non-element node types ([#4317](https://github.com/dequelabs/axe-core/issues/4317)) ([b853b18](https://github.com/dequelabs/axe-core/commit/b853b18a24dd2d1c9408705b821cc11146ae1186)), closes [#4316](https://github.com/dequelabs/axe-core/issues/4316) [#4316](https://github.com/dequelabs/axe-core/issues/4316)
- **color-contrast:** handle text that is outside `overflow: hidden` ancestor ([#4357](https://github.com/dequelabs/axe-core/issues/4357)) ([bdb7300](https://github.com/dequelabs/axe-core/commit/bdb7300c67d451d3b0169707924a0c6bc4defe40)), closes [#4253](https://github.com/dequelabs/axe-core/issues/4253)
- **color-contrast:** support color blend modes hue, saturation, color, luminosity ([#4365](https://github.com/dequelabs/axe-core/issues/4365)) ([7ae4761](https://github.com/dequelabs/axe-core/commit/7ae476124d60eafd28d85abf48188cd85c99543a))
- **d.ts:** RawNodesResult issues ([#4229](https://github.com/dequelabs/axe-core/issues/4229)) ([d660518](https://github.com/dequelabs/axe-core/commit/d6605181ec942bcca46e3bfe889064b3781919ca))
- **d.ts:** RunOptions.reporter can be any string ([#4218](https://github.com/dequelabs/axe-core/issues/4218)) ([e53f5c5](https://github.com/dequelabs/axe-core/commit/e53f5c5184a0e5f75db65e7929a9da84d7ee6df6))
- **i18n:** update Italian translations ([#4377](https://github.com/dequelabs/axe-core/issues/4377)) ([4d65d4b](https://github.com/dequelabs/axe-core/commit/4d65d4bf40f4ee2697e079451dd84a0155e8fb51))
- **listitem:** clarify roleNotValid message ([#4374](https://github.com/dequelabs/axe-core/issues/4374)) ([0f8a9af](https://github.com/dequelabs/axe-core/commit/0f8a9af2a82d49e7d8ff3024da0e4c485ca46d38))
- **scrollable-region-focusable:** missing wcag213 tag ([#4201](https://github.com/dequelabs/axe-core/issues/4201)) ([0080a72](https://github.com/dequelabs/axe-core/commit/0080a7255eb7f246bb7b6f53974a95b65983b83a))
- **target-size:** always pass 10x targets (avoid perf bottleneck) ([#4376](https://github.com/dequelabs/axe-core/issues/4376)) ([be327c4](https://github.com/dequelabs/axe-core/commit/be327c422f67ac657218f711b3b799567ba3aa37))
- **target-size:** do not crash for nodes with many overlapping widgets ([#4373](https://github.com/dequelabs/axe-core/issues/4373)) ([1dbea83](https://github.com/dequelabs/axe-core/commit/1dbea83d4749f9f71f263883869b076b0d42021f)), closes [#4359](https://github.com/dequelabs/axe-core/issues/4359) [#4359](https://github.com/dequelabs/axe-core/issues/4359) [#4360](https://github.com/dequelabs/axe-core/issues/4360)
- **utils/get-selector:** ignore 'xmlns' attribute when generating a selector ([#4303](https://github.com/dequelabs/axe-core/issues/4303)) ([938b411](https://github.com/dequelabs/axe-core/commit/938b411bb0609b54e5c46a8e5b50c9ea4de4bdee))

### [4.8.4](https://github.com/dequelabs/axe-core/compare/v4.8.3...v4.8.4) (2024-02-07)

### Bug Fixes
Expand Down
10 changes: 7 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,17 +93,17 @@ The [axe-core API](doc/API.md) package consists of:

## Localization

Axe can be built using your local language. To do so, a localization file must be added to the `./locales` directory. This file must have be named in the following manner: `<langcode>.json`. To build axe using this locale, instead of the default, run axe with the `--lang` flag, like so:
Axe can be built using your local language. To do so, a localization file must be added to the `./locales` directory. This file must be named in the following manner: `<langcode>.json`. To build axe using this locale, instead of the default, run axe with the `--lang` flag, like so:

`grunt build --lang=nl`

or equivalently:

`npm run build -- --lang=nl`

This will create a new build for axe, called `axe.<lang>.js` and `axe.<lang>.min.js`. If you want to build localized versions, simply pass in `--all-lang` instead. If you want to build multiple localized versions (but not all of them), you can pass in a comma-separated list of languages to the `--lang` flag, like `--lang=nl,ja`.
This will create a new build for axe, called `axe.<lang>.js` and `axe.<lang>.min.js`. If you want to build all localized versions, simply pass in `--all-lang` instead. If you want to build multiple localized versions (but not all of them), you can pass in a comma-separated list of languages to the `--lang` flag, like `--lang=nl,ja`.

To create a new translation for axe, start by running `grunt translate --lang=<langcode>`. This will create a json file fin the `./locales` directory, with the default English text in it for you to translate. Alternatively, you could copy `./locales/_template.json`. We welcome any localization for axe-core. For details on how to contribute, see the Contributing section below. For details on the message syntax, see [Check Message Template](/docs/check-message-template.md).
To create a new translation for axe, start by running `grunt translate --lang=<langcode>`. This will create a json file fin the `./locales` directory, with the default English text in it for you to translate. Alternatively, you could copy `./locales/_template.json`. We welcome any localization for axe-core. For details on how to contribute, see the Contributing section below. For details on the message syntax, see [Check Message Template](/doc/check-message-template.md).

To update existing translation file, re-run `grunt translate --lang=<langcode>`. This will add new messages used in English and remove messages which were not used in English.

Expand Down Expand Up @@ -149,6 +149,10 @@ Axe-core supports the following locales. Do note that since locales are contribu
- Polish
- Portuguese (Brazilian)
- Spanish
- Greek
- Italian
- Simplified Chinese
- Traditional Chinese

## Updates & Security

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.8.4",
"version": "4.9.0",
"deprecated": true,
"contributors": [
{
Expand Down
2 changes: 1 addition & 1 deletion build/check-node-version.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

const currentVersion = process.version.replace('v', '');

const minimumVersionMajor = 12;
const minimumVersionMajor = 18;
const currentVersionMajor = parseInt(currentVersion.split('.')[0]);

const usesMinimumVersion = currentVersionMajor >= minimumVersionMajor;
Expand Down
6 changes: 4 additions & 2 deletions build/configure.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ var clone = require('clone');
var doT = require('@deque/dot');
var templates = require('./templates');
var buildManual = require('./build-manual');
var entities = new (require('html-entities').AllHtmlEntities)();
var { encode } = require('html-entities');
var packageJSON = require('../package.json');
var doTRegex = /\{\{.+?\}\}/g;

Expand Down Expand Up @@ -365,7 +365,7 @@ function buildRules(grunt, options, commons, callback) {

result.push([
`[${rule.id}](https://dequeuniversity.com/rules/axe/${axeVersion}/${rule.id}?application=RuleDescription)`,
entities.encode(rule.metadata.description),
encode(rule.metadata.description),
impact,
rule.tags.join(', '),
issueType.join(', '),
Expand Down Expand Up @@ -401,6 +401,8 @@ ${
.join('\n\n');

var descriptions = `
<!--- This file is automatically generated using build/configure.js --->

# Rule Descriptions

## Table of Contents
Expand Down