diff --git a/CHANGELOG.md b/CHANGELOG.md index bd970895da..c6aede4670 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ 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.8.2](https://github.com/dequelabs/axe-core/compare/v4.8.1...v4.8.2) (2023-09-18) + +### Bug Fixes + +- polyfill Object.hasOwn for node 14 ([#4152](https://github.com/dequelabs/axe-core/issues/4152)) ([c7b597b](https://github.com/dequelabs/axe-core/commit/c7b597b9ec9c74009f4ddac16d5311ee642ab352)) + ### [4.8.1](https://github.com/dequelabs/axe-core/compare/v4.8.0...v4.8.1) (2023-09-08) ### Bug Fixes diff --git a/bower.json b/bower.json index 5adb1abf40..d9aea5c26d 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "axe-core", - "version": "4.8.1", + "version": "4.8.2", "deprecated": true, "contributors": [ { diff --git a/lib/core/imports/index.js b/lib/core/imports/index.js index f88ac876fa..63622d7636 100644 --- a/lib/core/imports/index.js +++ b/lib/core/imports/index.js @@ -7,6 +7,11 @@ import Color from 'colorjs.io'; import es6promise from 'es6-promise'; import { Uint32Array } from 'typedarray'; import 'weakmap-polyfill'; +import hasOwn from 'core-js-pure/actual/object/has-own'; + +if (!('hasOwn' in Object)) { + Object.hasOwn = hasOwn; +} // prevent striping newline characters from strings (e.g. failure // summaries). value must be synced with build/configure.js diff --git a/locales/ja.json b/locales/ja.json index 8ee94527f8..e84bff43d9 100644 --- a/locales/ja.json +++ b/locales/ja.json @@ -10,8 +10,8 @@ "help": "アクティブな要素には代替テキストが存在しなければなりません" }, "aria-allowed-attr": { - "description": "要素のロールにARIA属性が許可されていることを確認します", - "help": "要素には許可されているARIA属性のみを使用しなければなりません" + "description": "要素のロールがARIA属性をサポートしていることを確認します", + "help": "要素にはサポートされているARIA属性のみを使用しなければなりません" }, "aria-allowed-role": { "description": "role属性の値が要素に対して適切であることを確認します", @@ -38,8 +38,8 @@ "help": "ARIA dialogとalertdialogノードにはアクセシブルな名前がなければなりません" }, "aria-hidden-body": { - "description": "ドキュメント本体にaria-hidden='true'が存在しないことを確認します", - "help": "ドキュメント本体にaria-hidden='true'が存在してはなりません" + "description": "ドキュメント本体にaria-hidden=\"true\"が存在しないことを確認します", + "help": "ドキュメント本体にaria-hidden=\"true\"が存在してはなりません" }, "aria-hidden-focus": { "description": "aria-hiddenが指定されている要素にフォーカスできないこと、その要素にフォーカス可能な要素が含まれていないことを確認します", @@ -350,8 +350,8 @@ "help": "ページのすべてのコンテンツはlandmarkに含まれていなければなりません" }, "role-img-alt": { - "description": "[role='img'] の要素に代替テキストが存在することを確認します", - "help": "[role='img'] の要素には代替テキストがなければなりません" + "description": "[role=\"img\"] の要素に代替テキストが存在することを確認します", + "help": "[role=\"img\"] の要素には代替テキストがなければなりません" }, "scope-attr-valid": { "description": "scope属性がテーブルで正しく使用されていることを確認します", @@ -710,7 +710,7 @@ "focusable-not-tabbable": { "pass": "要素内にフォーカス不可能な要素は含まれていません", "incomplete": "フォーカス可能な要素がすぐにフォーカスインジケータを動かすかどうか確認しましょう", - "fail": "フォーカス可能なコンテンツはtabindex='-1'を指定するか、DOMから削除するべきです" + "fail": "フォーカス可能なコンテンツはtabindex=\"-1\"を指定するか、DOMから削除するべきです" }, "frame-focusable-content": { "pass": "要素の子孫にフォーカス可能なものはありません", @@ -725,7 +725,7 @@ "pass": "要素の子孫にフォーカス可能なものはありません", "fail": { "default": "要素の子孫にフォーカス可能なものがあります", - "notHidden": "インタラクティブなコントロールの内側の要素に負のtabindexを指定しても、('aria-hidden=true'が指定されている場合も)支援技術がその要素にフォーカスできないようにはなりません" + "notHidden": "インタラクティブなコントロールの内側の要素に負のtabindexを指定しても、(aria-hidden=\"true\"が指定されている場合も)支援技術がその要素にフォーカスできないようにはなりません" }, "incomplete": "要素に子孫があるか判定できませんでした" }, @@ -862,11 +862,11 @@ "fail": "タグの${data}がモバイルデバイスでの拡大を無効にします" }, "target-offset": { - "pass": "ターゲットに最も近い隣接要素からのオフセットが十分にあリます (${data.closestOffset}pxであり、${data.minOffset}px以上です)", - "fail": "ターゲットの最も近い隣接要素からのオフセットが不十分です (${data.closestOffset}pxですが、${data.minOffset}px以上でなければなりません)", + "pass": "ターゲットに最も近い隣接要素との間の空白の大きさは十分です。クリッカブルな領域として十分な大きさは、直径${data.minOffset}pxで、${data.minOffset}px以上です。", + "fail": "ターゲットに最も近い隣接要素との間の空白の大きさが不十分です。クリッカブルな領域として十分な大きさは、${data.minOffset}px以上ではなく、直径${data.closestOffset}pxです。", "incomplete": { - "default": "tabindexが負の要素において、最も近い隣接要素からのオフセットが不十分です (${data.closestOffset}pxですが、${data.minOffset}px以上でなければなりません)。これがターゲットであるか確認しましょう", - "nonTabbableNeighbor": "ターゲットの隣接ノードで、tabindexが負のものからのオフセットが不十分です (${data.closestOffset}pxですが、${data.minOffset}px以上でなければなりません)。隣接要素がターゲットであるか確認しましょう" + "default": "tabindexが負の要素において、最も近い隣接要素との間の空白の大きさが不十分です。クリッカブルな領域として十分な大きさは、${data.minOffset}px以上ではなく、直径${data.closestOffset}pxです。これがターゲットであるか確認しましょう。", + "nonTabbableNeighbor": "ターゲットに最も近い隣接要素との間の空白の大きさが不十分です。クリッカブルな領域として十分な大きさは、${data.minOffset}px以上ではなく、直径${data.closestOffset}pxです。隣接要素がターゲットであるか確認しましょう。" } }, "target-size": { diff --git a/package-lock.json b/package-lock.json index 362b8091ba..c764ae24e5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "axe-core", - "version": "4.8.1", + "version": "4.8.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "axe-core", - "version": "4.8.1", + "version": "4.8.2", "license": "MPL-2.0", "devDependencies": { "@axe-core/webdriverjs": "^4.5.2", diff --git a/package.json b/package.json index b0c37d82ec..ebbeb67dd6 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "axe-core", "description": "Accessibility engine for automated Web UI testing", - "version": "4.8.1", + "version": "4.8.2", "license": "MPL-2.0", "engines": { "node": ">=4" diff --git a/sri-history.json b/sri-history.json index fa203ea8ea..c8398cf348 100644 --- a/sri-history.json +++ b/sri-history.json @@ -358,5 +358,9 @@ "4.8.1": { "axe.js": "sha256-xAiDRfIT8BFIcORsehvJYCROe4K+U0Ak5MVJMaCvn9k=", "axe.min.js": "sha256-EkEySwRAuCQljOYWJ29XQp4s80KPPlsmKwFtKFn6Vr0=" + }, + "4.8.2": { + "axe.js": "sha256-VZuuruUDDRwfzCo4ZDDzXiVefuy4pSW6BlGx+D/ucC0=", + "axe.min.js": "sha256-O9U055OcfxyKV61g3Qn7N9mvpJNht0RCPcFw+QjWTG4=" } }