lighthouse 10.3.0-dev.20230618 → 10.3.0-dev.20230620

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,10 @@
1
+ export default AriaDialogName;
2
+ declare class AriaDialogName extends AxeAudit {
3
+ }
4
+ export namespace UIStrings {
5
+ const title: string;
6
+ const failureTitle: string;
7
+ const description: string;
8
+ }
9
+ import AxeAudit from './axe-audit.js';
10
+ //# sourceMappingURL=aria-dialog-name.d.ts.map
@@ -0,0 +1,45 @@
1
+ /**
2
+ * @license Copyright 2023 The Lighthouse Authors. All Rights Reserved.
3
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
5
+ */
6
+
7
+ /**
8
+ * @fileoverview Ensures every ARIA dialog element has a discernable, accessible name.
9
+ * See base class in axe-audit.js for audit() implementation.
10
+ */
11
+
12
+ import AxeAudit from './axe-audit.js';
13
+ import * as i18n from '../../lib/i18n/i18n.js';
14
+
15
+ const UIStrings = {
16
+ /** Title of an accessibility audit that evaluates if ARIA dialog elements have an accessible name. This title is descriptive of the successful state and is shown to users when no user action is required. */
17
+ title: 'Elements with `role="dialog"` or `role="alertdialog"` have accessible names.',
18
+ /** Title of an accessibility audit that evaluates if ARIA dialog elements do not have accessible names. This title is descriptive of the failing state and is shown to users when there is a failure that needs to be addressed. */
19
+ failureTitle: 'Elements with `role="dialog"` or `role="alertdialog"` do not have accessible ' +
20
+ 'names.',
21
+ /** Description of a Lighthouse audit that tells the user *why* they should have accessible names for ARIA dialog elements. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
22
+ description: 'ARIA dialog elements without accessible names may prevent screen readers users ' +
23
+ 'from discerning the purpose of these elements. ' +
24
+ '[Learn how to make ARIA dialog elements more accessible](https://dequeuniversity.com/rules/axe/4.7/aria-dialog-name).',
25
+ };
26
+
27
+ const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
28
+
29
+ class AriaDialogName extends AxeAudit {
30
+ /**
31
+ * @return {LH.Audit.Meta}
32
+ */
33
+ static get meta() {
34
+ return {
35
+ id: 'aria-dialog-name',
36
+ title: str_(UIStrings.title),
37
+ failureTitle: str_(UIStrings.failureTitle),
38
+ description: str_(UIStrings.description),
39
+ requiredArtifacts: ['Accessibility'],
40
+ };
41
+ }
42
+ }
43
+
44
+ export default AriaDialogName;
45
+ export {UIStrings};
@@ -0,0 +1,10 @@
1
+ export default AriaText;
2
+ declare class AriaText extends AxeAudit {
3
+ }
4
+ export namespace UIStrings {
5
+ const title: string;
6
+ const failureTitle: string;
7
+ const description: string;
8
+ }
9
+ import AxeAudit from './axe-audit.js';
10
+ //# sourceMappingURL=aria-text.d.ts.map
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @license Copyright 2023 The Lighthouse Authors. All Rights Reserved.
3
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
5
+ */
6
+
7
+ /**
8
+ * @fileoverview Ensures all elements with `role=text` have no focusable descendents.
9
+ * See base class in axe-audit.js for audit() implementation.
10
+ */
11
+
12
+ import AxeAudit from './axe-audit.js';
13
+ import * as i18n from '../../lib/i18n/i18n.js';
14
+
15
+ const UIStrings = {
16
+ /** Title of an accesibility audit that evaluates if elements with `role=text` have no focusable descendents. This title is descriptive of the successful state and is shown to users when no user action is required. */
17
+ title: 'Elements with the `role=text` attribute do not have focusable descendents.',
18
+ /** Title of an accesibility audit that evaluates if elements with `role=text` have focusable descendents. This title is descriptive of the successful state and is shown to users when no user action is required. */
19
+ failureTitle: 'Elements with the `role=text` attribute do have focusable descendents.',
20
+ /** Description of a Lighthouse audit that tells the user *why* they should try to pass. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
21
+ description: 'Adding `role=text` around a text node split by markup enables VoiceOver to treat ' +
22
+ 'it as one phrase, but the element\'s focusable descendents will not be announced. ' +
23
+ '[Learn more about the `role=text` attribute](https://dequeuniversity.com/rules/axe/4.7/aria-text).',
24
+ };
25
+
26
+ const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
27
+
28
+ class AriaText extends AxeAudit {
29
+ /**
30
+ * @return {LH.Audit.Meta}
31
+ */
32
+ static get meta() {
33
+ return {
34
+ id: 'aria-text',
35
+ title: str_(UIStrings.title),
36
+ failureTitle: str_(UIStrings.failureTitle),
37
+ description: str_(UIStrings.description),
38
+ requiredArtifacts: ['Accessibility'],
39
+ };
40
+ }
41
+ }
42
+
43
+ export default AriaText;
44
+ export {UIStrings};
@@ -0,0 +1,10 @@
1
+ export default LinkInTextBlock;
2
+ declare class LinkInTextBlock extends AxeAudit {
3
+ }
4
+ export namespace UIStrings {
5
+ const title: string;
6
+ const failureTitle: string;
7
+ const description: string;
8
+ }
9
+ import AxeAudit from './axe-audit.js';
10
+ //# sourceMappingURL=link-in-text-block.d.ts.map
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @license Copyright 2023 The Lighthouse Authors. All Rights Reserved.
3
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
5
+ */
6
+
7
+ /**
8
+ * @fileoverview Ensures that links can be distinguished without relying on color.
9
+ * See base class in axe-audit.js for audit() implementation.
10
+ */
11
+
12
+ import AxeAudit from './axe-audit.js';
13
+ import * as i18n from '../../lib/i18n/i18n.js';
14
+
15
+ const UIStrings = {
16
+ /** Title of an accesibility audit that evaluates if all link elements can be distinguished without relying on color. This title is descriptive of the successful state and is shown to users when no user action is required. */
17
+ title: 'Links are distinguishable without relying on color.',
18
+ /** Title of an accesibility audit that evaluates if all link elements can be distinguished without relying on color. This title is descriptive of the failing state and is shown to users when there is a failure that needs to be addressed. */
19
+ failureTitle: 'Links rely on color to be distinguishable.',
20
+ /** Description of a Lighthouse audit that tells the user *why* they should try to pass. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
21
+ description: 'Low-contrast text is difficult or impossible for many users to read. Link text ' +
22
+ 'that is discernible improves the experience for users with low vision. ' +
23
+ '[Learn how to make links distinguishable](https://dequeuniversity.com/rules/axe/4.7/link-in-text-block).',
24
+ };
25
+
26
+ const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
27
+
28
+ class LinkInTextBlock extends AxeAudit {
29
+ /**
30
+ * @return {LH.Audit.Meta}
31
+ */
32
+ static get meta() {
33
+ return {
34
+ id: 'link-in-text-block',
35
+ title: str_(UIStrings.title),
36
+ failureTitle: str_(UIStrings.failureTitle),
37
+ description: str_(UIStrings.description),
38
+ requiredArtifacts: ['Accessibility'],
39
+ };
40
+ }
41
+ }
42
+
43
+ export default LinkInTextBlock;
44
+ export {UIStrings};
@@ -0,0 +1,10 @@
1
+ export default SelectName;
2
+ declare class SelectName extends AxeAudit {
3
+ }
4
+ export namespace UIStrings {
5
+ const title: string;
6
+ const failureTitle: string;
7
+ const description: string;
8
+ }
9
+ import AxeAudit from './axe-audit.js';
10
+ //# sourceMappingURL=select-name.d.ts.map
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @license Copyright 2023 The Lighthouse Authors. All Rights Reserved.
3
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
4
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
5
+ */
6
+
7
+ /**
8
+ * @fileoverview Ensures select elements have programmatically associated label elements.
9
+ * See base class in axe-audit.js for audit() implementation.
10
+ */
11
+
12
+ import AxeAudit from './axe-audit.js';
13
+ import * as i18n from '../../lib/i18n/i18n.js';
14
+
15
+ const UIStrings = {
16
+ /** Title of an accesibility audit that evaluates if all select elements have programmatically associated label elements. This title is descriptive of the successful state and is shown to users when no user action is required. */
17
+ title: 'Select elements have associated label elements.',
18
+ /** Title of an accesibility audit that evaluates if all select elements have programmatically associated label elements. This title is descriptive of the failing state and is shown to users when there is a failure that needs to be addressed. */
19
+ failureTitle: 'Select elements do not have associated label elements.',
20
+ /** Description of a Lighthouse audit that tells the user *why* they should try to pass. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
21
+ description: 'Form elements without effective labels can create frustrating experiences ' +
22
+ 'for screen reader users. ' +
23
+ '[Learn more about the `select` element](https://dequeuniversity.com/rules/axe/4.7/select-name).',
24
+ };
25
+
26
+ const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
27
+
28
+ class SelectName extends AxeAudit {
29
+ /**
30
+ * @return {LH.Audit.Meta}
31
+ */
32
+ static get meta() {
33
+ return {
34
+ id: 'select-name',
35
+ title: str_(UIStrings.title),
36
+ failureTitle: str_(UIStrings.failureTitle),
37
+ description: str_(UIStrings.description),
38
+ requiredArtifacts: ['Accessibility'],
39
+ };
40
+ }
41
+ }
42
+
43
+ export default SelectName;
44
+ export {UIStrings};
@@ -236,6 +236,7 @@ const defaultConfig = {
236
236
  'accessibility/accesskeys',
237
237
  'accessibility/aria-allowed-attr',
238
238
  'accessibility/aria-command-name',
239
+ 'accessibility/aria-dialog-name',
239
240
  'accessibility/aria-hidden-body',
240
241
  'accessibility/aria-hidden-focus',
241
242
  'accessibility/aria-input-field-name',
@@ -245,6 +246,7 @@ const defaultConfig = {
245
246
  'accessibility/aria-required-children',
246
247
  'accessibility/aria-required-parent',
247
248
  'accessibility/aria-roles',
249
+ 'accessibility/aria-text',
248
250
  'accessibility/aria-toggle-field-name',
249
251
  'accessibility/aria-tooltip-name',
250
252
  'accessibility/aria-treeitem-name',
@@ -269,11 +271,13 @@ const defaultConfig = {
269
271
  'accessibility/input-image-alt',
270
272
  'accessibility/label',
271
273
  'accessibility/link-name',
274
+ 'accessibility/link-in-text-block',
272
275
  'accessibility/list',
273
276
  'accessibility/listitem',
274
277
  'accessibility/meta-refresh',
275
278
  'accessibility/meta-viewport',
276
279
  'accessibility/object-alt',
280
+ 'accessibility/select-name',
277
281
  'accessibility/tabindex',
278
282
  'accessibility/table-fake-caption',
279
283
  'accessibility/td-has-header',
@@ -504,6 +508,7 @@ const defaultConfig = {
504
508
  {id: 'accesskeys', weight: 3, group: 'a11y-navigation'},
505
509
  {id: 'aria-allowed-attr', weight: 10, group: 'a11y-aria'},
506
510
  {id: 'aria-command-name', weight: 3, group: 'a11y-aria'},
511
+ {id: 'aria-dialog-name', weight: 3, group: 'a11y-aria'},
507
512
  {id: 'aria-hidden-body', weight: 10, group: 'a11y-aria'},
508
513
  {id: 'aria-hidden-focus', weight: 3, group: 'a11y-aria'},
509
514
  {id: 'aria-input-field-name', weight: 3, group: 'a11y-aria'},
@@ -513,6 +518,7 @@ const defaultConfig = {
513
518
  {id: 'aria-required-children', weight: 10, group: 'a11y-aria'},
514
519
  {id: 'aria-required-parent', weight: 10, group: 'a11y-aria'},
515
520
  {id: 'aria-roles', weight: 10, group: 'a11y-aria'},
521
+ {id: 'aria-text', weight: 3, group: 'a11y-aria'},
516
522
  {id: 'aria-toggle-field-name', weight: 3, group: 'a11y-aria'},
517
523
  {id: 'aria-tooltip-name', weight: 3, group: 'a11y-aria'},
518
524
  {id: 'aria-treeitem-name', weight: 3, group: 'a11y-aria'},
@@ -536,12 +542,14 @@ const defaultConfig = {
536
542
  {id: 'input-button-name', weight: 10, group: 'a11y-names-labels'},
537
543
  {id: 'input-image-alt', weight: 10, group: 'a11y-names-labels'},
538
544
  {id: 'label', weight: 10, group: 'a11y-names-labels'},
545
+ {id: 'link-in-text-block', weight: 3, group: 'a11y-color-contrast'},
539
546
  {id: 'link-name', weight: 3, group: 'a11y-names-labels'},
540
547
  {id: 'list', weight: 3, group: 'a11y-tables-lists'},
541
548
  {id: 'listitem', weight: 3, group: 'a11y-tables-lists'},
542
549
  {id: 'meta-refresh', weight: 10, group: 'a11y-best-practices'},
543
550
  {id: 'meta-viewport', weight: 10, group: 'a11y-best-practices'},
544
551
  {id: 'object-alt', weight: 3, group: 'a11y-names-labels'},
552
+ {id: 'select-name', weight: 3, group: 'a11y-names-labels'},
545
553
  {id: 'tabindex', weight: 3, group: 'a11y-navigation'},
546
554
  {id: 'table-fake-caption', weight: 3, group: 'a11y-tables-lists'},
547
555
  {id: 'td-has-header', weight: 10, group: 'a11y-tables-lists'},
@@ -41,8 +41,10 @@ async function runA11yChecks() {
41
41
  // Consider http://go/prcpg for expert review of the aXe rules.
42
42
  'accesskeys': {enabled: true},
43
43
  'area-alt': {enabled: false},
44
+ 'aria-dialog-name': {enabled: true},
44
45
  'aria-roledescription': {enabled: false},
45
46
  'aria-treeitem-name': {enabled: true},
47
+ 'aria-text': {enabled: true},
46
48
  'audio-caption': {enabled: false},
47
49
  'blink': {enabled: false},
48
50
  'duplicate-id': {enabled: false},
@@ -52,7 +54,7 @@ async function runA11yChecks() {
52
54
  'html-xml-lang-mismatch': {enabled: true},
53
55
  'identical-links-same-purpose': {enabled: false},
54
56
  'input-button-name': {enabled: true},
55
- 'link-in-text-block': {enabled: false},
57
+ 'link-in-text-block': {enabled: true},
56
58
  'marquee': {enabled: false},
57
59
  'meta-viewport': {enabled: true},
58
60
  // https://github.com/dequelabs/axe-core/issues/2958
@@ -60,7 +62,7 @@ async function runA11yChecks() {
60
62
  'no-autoplay-audio': {enabled: false},
61
63
  'role-img-alt': {enabled: false},
62
64
  'scrollable-region-focusable': {enabled: false},
63
- 'select-name': {enabled: false},
65
+ 'select-name': {enabled: true},
64
66
  'server-side-image-map': {enabled: false},
65
67
  'svg-img-alt': {enabled: false},
66
68
  'tabindex': {enabled: true},
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "lighthouse",
3
3
  "type": "module",
4
- "version": "10.3.0-dev.20230618",
4
+ "version": "10.3.0-dev.20230620",
5
5
  "description": "Automated auditing, performance metrics, and best practices for the web.",
6
6
  "main": "./core/index.js",
7
7
  "bin": {
@@ -26,6 +26,15 @@
26
26
  "core/audits/accessibility/aria-command-name.js | title": {
27
27
  "message": "`button`, `link`, and `menuitem` elements have accessible names"
28
28
  },
29
+ "core/audits/accessibility/aria-dialog-name.js | description": {
30
+ "message": "ARIA dialog elements without accessible names may prevent screen readers users from discerning the purpose of these elements. [Learn how to make ARIA dialog elements more accessible](https://dequeuniversity.com/rules/axe/4.7/aria-dialog-name)."
31
+ },
32
+ "core/audits/accessibility/aria-dialog-name.js | failureTitle": {
33
+ "message": "Elements with `role=\"dialog\"` or `role=\"alertdialog\"` do not have accessible names."
34
+ },
35
+ "core/audits/accessibility/aria-dialog-name.js | title": {
36
+ "message": "Elements with `role=\"dialog\"` or `role=\"alertdialog\"` have accessible names."
37
+ },
29
38
  "core/audits/accessibility/aria-hidden-body.js | description": {
30
39
  "message": "Assistive technologies, like screen readers, work inconsistently when `aria-hidden=\"true\"` is set on the document `<body>`. [Learn how `aria-hidden` affects the document body](https://dequeuniversity.com/rules/axe/4.7/aria-hidden-body)."
31
40
  },
@@ -107,6 +116,15 @@
107
116
  "core/audits/accessibility/aria-roles.js | title": {
108
117
  "message": "`[role]` values are valid"
109
118
  },
119
+ "core/audits/accessibility/aria-text.js | description": {
120
+ "message": "Adding `role=text` around a text node split by markup enables VoiceOver to treat it as one phrase, but the element's focusable descendents will not be announced. [Learn more about the `role=text` attribute](https://dequeuniversity.com/rules/axe/4.7/aria-text)."
121
+ },
122
+ "core/audits/accessibility/aria-text.js | failureTitle": {
123
+ "message": "Elements with the `role=text` attribute do have focusable descendents."
124
+ },
125
+ "core/audits/accessibility/aria-text.js | title": {
126
+ "message": "Elements with the `role=text` attribute do not have focusable descendents."
127
+ },
110
128
  "core/audits/accessibility/aria-toggle-field-name.js | description": {
111
129
  "message": "When a toggle field doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. [Learn more about toggle fields](https://dequeuniversity.com/rules/axe/4.7/aria-toggle-field-name)."
112
130
  },
@@ -317,6 +335,15 @@
317
335
  "core/audits/accessibility/label.js | title": {
318
336
  "message": "Form elements have associated labels"
319
337
  },
338
+ "core/audits/accessibility/link-in-text-block.js | description": {
339
+ "message": "Low-contrast text is difficult or impossible for many users to read. Link text that is discernible improves the experience for users with low vision. [Learn how to make links distinguishable](https://dequeuniversity.com/rules/axe/4.7/link-in-text-block)."
340
+ },
341
+ "core/audits/accessibility/link-in-text-block.js | failureTitle": {
342
+ "message": "Links rely on color to be distinguishable."
343
+ },
344
+ "core/audits/accessibility/link-in-text-block.js | title": {
345
+ "message": "Links are distinguishable without relying on color."
346
+ },
320
347
  "core/audits/accessibility/link-name.js | description": {
321
348
  "message": "Link text (and alternate text for images, when used as links) that is discernible, unique, and focusable improves the navigation experience for screen reader users. [Learn how to make links accessible](https://dequeuniversity.com/rules/axe/4.7/link-name)."
322
349
  },
@@ -371,6 +398,15 @@
371
398
  "core/audits/accessibility/object-alt.js | title": {
372
399
  "message": "`<object>` elements have alternate text"
373
400
  },
401
+ "core/audits/accessibility/select-name.js | description": {
402
+ "message": "Form elements without effective labels can create frustrating experiences for screen reader users. [Learn more about the `select` element](https://dequeuniversity.com/rules/axe/4.7/select-name)."
403
+ },
404
+ "core/audits/accessibility/select-name.js | failureTitle": {
405
+ "message": "Select elements do not have associated label elements."
406
+ },
407
+ "core/audits/accessibility/select-name.js | title": {
408
+ "message": "Select elements have associated label elements."
409
+ },
374
410
  "core/audits/accessibility/tabindex.js | description": {
375
411
  "message": "A value greater than 0 implies an explicit navigation ordering. Although technically valid, this often creates frustrating experiences for users who rely on assistive technologies. [Learn more about the `tabindex` attribute](https://dequeuniversity.com/rules/axe/4.7/tabindex)."
376
412
  },
@@ -26,6 +26,15 @@
26
26
  "core/audits/accessibility/aria-command-name.js | title": {
27
27
  "message": "`button`, `link`, âńd̂ `menuitem` él̂ém̂én̂t́ŝ h́âv́ê áĉćêśŝíb̂ĺê ńâḿêś"
28
28
  },
29
+ "core/audits/accessibility/aria-dialog-name.js | description": {
30
+ "message": "ÂŔÎÁ d̂íâĺôǵ êĺêḿêńt̂ś ŵít̂h́ôút̂ áĉćêśŝíb̂ĺê ńâḿêś m̂áŷ ṕr̂év̂én̂t́ ŝćr̂éêń r̂éâd́êŕŝ úŝér̂ś f̂ŕôḿ d̂íŝćêŕn̂ín̂ǵ t̂h́ê ṕûŕp̂óŝé ôf́ t̂h́êśê él̂ém̂én̂t́ŝ. [Ĺêár̂ń ĥóŵ t́ô ḿâḱê ÁR̂ÍÂ d́îál̂óĝ él̂ém̂én̂t́ŝ ḿôŕê áĉćêśŝíb̂ĺê](https://dequeuniversity.com/rules/axe/4.7/aria-dialog-name)."
31
+ },
32
+ "core/audits/accessibility/aria-dialog-name.js | failureTitle": {
33
+ "message": "Êĺêḿêńt̂ś ŵít̂h́ `role=\"dialog\"` ôŕ `role=\"alertdialog\"` d̂ó n̂ót̂ h́âv́ê áĉćêśŝíb̂ĺê ńâḿêś."
34
+ },
35
+ "core/audits/accessibility/aria-dialog-name.js | title": {
36
+ "message": "Êĺêḿêńt̂ś ŵít̂h́ `role=\"dialog\"` ôŕ `role=\"alertdialog\"` ĥáv̂é âćĉéŝśîb́l̂é n̂ám̂éŝ."
37
+ },
29
38
  "core/audits/accessibility/aria-hidden-body.js | description": {
30
39
  "message": "Âśŝíŝt́îv́ê t́êćĥńôĺôǵîéŝ, ĺîḱê śĉŕêén̂ ŕêád̂ér̂ś, ŵór̂ḱ îńĉón̂śîśt̂én̂t́l̂ý ŵh́êń `aria-hidden=\"true\"` îś ŝét̂ ón̂ t́ĥé d̂óĉúm̂én̂t́ `<body>`. [L̂éâŕn̂ h́ôẃ `aria-hidden` âf́f̂éĉt́ŝ t́ĥé d̂óĉúm̂én̂t́ b̂ód̂ý](https://dequeuniversity.com/rules/axe/4.7/aria-hidden-body)."
31
40
  },
@@ -107,6 +116,15 @@
107
116
  "core/audits/accessibility/aria-roles.js | title": {
108
117
  "message": "`[role]` v̂ál̂úêś âŕê v́âĺîd́"
109
118
  },
119
+ "core/audits/accessibility/aria-text.js | description": {
120
+ "message": "Âd́d̂ín̂ǵ `role=text` âŕôún̂d́ â t́êx́t̂ ńôd́ê śp̂ĺît́ b̂ý m̂ár̂ḱûṕ êńâb́l̂éŝ V́ôíĉéÔv́êŕ t̂ó t̂ŕêát̂ ít̂ áŝ ón̂é p̂h́r̂áŝé, b̂út̂ t́ĥé êĺêḿêńt̂'ś f̂óĉúŝáb̂ĺê d́êśĉén̂d́êńt̂ś ŵíl̂ĺ n̂ót̂ b́ê án̂ńôún̂ćêd́. [L̂éâŕn̂ ḿôŕê áb̂óût́ t̂h́ê `role=text` át̂t́r̂íb̂út̂é](https://dequeuniversity.com/rules/axe/4.7/aria-text)."
121
+ },
122
+ "core/audits/accessibility/aria-text.js | failureTitle": {
123
+ "message": "Êĺêḿêńt̂ś ŵít̂h́ t̂h́ê `role=text` át̂t́r̂íb̂út̂é d̂ó ĥáv̂é f̂óĉúŝáb̂ĺê d́êśĉén̂d́êńt̂ś."
124
+ },
125
+ "core/audits/accessibility/aria-text.js | title": {
126
+ "message": "Êĺêḿêńt̂ś ŵít̂h́ t̂h́ê `role=text` át̂t́r̂íb̂út̂é d̂ó n̂ót̂ h́âv́ê f́ôćûśâb́l̂é d̂éŝćêńd̂én̂t́ŝ."
127
+ },
110
128
  "core/audits/accessibility/aria-toggle-field-name.js | description": {
111
129
  "message": "Ŵh́êń â t́ôǵĝĺê f́îél̂d́ d̂óêśn̂'t́ ĥáv̂é âń âćĉéŝśîb́l̂é n̂ám̂é, ŝćr̂éêń r̂éâd́êŕŝ án̂ńôún̂ćê ít̂ ẃît́ĥ á ĝén̂ér̂íĉ ńâḿê, ḿâḱîńĝ ít̂ ún̂úŝáb̂ĺê f́ôŕ ûśêŕŝ ẃĥó r̂él̂ý ôń ŝćr̂éêń r̂éâd́êŕŝ. [Ĺêár̂ń m̂ór̂é âb́ôút̂ t́ôǵĝĺê f́îél̂d́ŝ](https://dequeuniversity.com/rules/axe/4.7/aria-toggle-field-name)."
112
130
  },
@@ -317,6 +335,15 @@
317
335
  "core/audits/accessibility/label.js | title": {
318
336
  "message": "F̂ór̂ḿ êĺêḿêńt̂ś ĥáv̂é âśŝóĉíât́êd́ l̂áb̂él̂ś"
319
337
  },
338
+ "core/audits/accessibility/link-in-text-block.js | description": {
339
+ "message": "L̂óŵ-ćôńt̂ŕâśt̂ t́êx́t̂ íŝ d́îf́f̂íĉúl̂t́ ôŕ îḿp̂óŝśîb́l̂é f̂ór̂ ḿâńŷ úŝér̂ś t̂ó r̂éâd́. L̂ín̂ḱ t̂éx̂t́ t̂h́ât́ îś d̂íŝćêŕn̂íb̂ĺê ím̂ṕr̂óv̂éŝ t́ĥé êx́p̂ér̂íêńĉé f̂ór̂ úŝér̂ś ŵít̂h́ l̂óŵ v́îśîón̂. [Ĺêár̂ń ĥóŵ t́ô ḿâḱê ĺîńk̂ś d̂íŝt́îńĝúîśĥáb̂ĺê](https://dequeuniversity.com/rules/axe/4.7/link-in-text-block)."
340
+ },
341
+ "core/audits/accessibility/link-in-text-block.js | failureTitle": {
342
+ "message": "L̂ín̂ḱŝ ŕêĺŷ ón̂ ćôĺôŕ t̂ó b̂é d̂íŝt́îńĝúîśĥáb̂ĺê."
343
+ },
344
+ "core/audits/accessibility/link-in-text-block.js | title": {
345
+ "message": "L̂ín̂ḱŝ ár̂é d̂íŝt́îńĝúîśĥáb̂ĺê ẃît́ĥóût́ r̂él̂ýîńĝ ón̂ ćôĺôŕ."
346
+ },
320
347
  "core/audits/accessibility/link-name.js | description": {
321
348
  "message": "L̂ín̂ḱ t̂éx̂t́ (âńd̂ ál̂t́êŕn̂át̂é t̂éx̂t́ f̂ór̂ ím̂áĝéŝ, ẃĥén̂ úŝéd̂ áŝ ĺîńk̂ś) t̂h́ât́ îś d̂íŝćêŕn̂íb̂ĺê, ún̂íq̂úê, án̂d́ f̂óĉúŝáb̂ĺê ím̂ṕr̂óv̂éŝ t́ĥé n̂áv̂íĝát̂íôń êx́p̂ér̂íêńĉé f̂ór̂ śĉŕêén̂ ŕêád̂ér̂ úŝér̂ś. [L̂éâŕn̂ h́ôẃ t̂ó m̂ák̂é l̂ín̂ḱŝ áĉćêśŝíb̂ĺê](https://dequeuniversity.com/rules/axe/4.7/link-name)."
322
349
  },
@@ -371,6 +398,15 @@
371
398
  "core/audits/accessibility/object-alt.js | title": {
372
399
  "message": "`<object>` êĺêḿêńt̂ś ĥáv̂é âĺt̂ér̂ńât́ê t́êx́t̂"
373
400
  },
401
+ "core/audits/accessibility/select-name.js | description": {
402
+ "message": "F̂ór̂ḿ êĺêḿêńt̂ś ŵít̂h́ôút̂ éf̂f́êćt̂ív̂é l̂áb̂él̂ś ĉán̂ ćr̂éât́ê f́r̂úŝt́r̂át̂ín̂ǵ êx́p̂ér̂íêńĉéŝ f́ôŕ ŝćr̂éêń r̂éâd́êŕ ûśêŕŝ. [Ĺêár̂ń m̂ór̂é âb́ôút̂ t́ĥé `select` êĺêḿêńt̂](https://dequeuniversity.com/rules/axe/4.7/select-name)."
403
+ },
404
+ "core/audits/accessibility/select-name.js | failureTitle": {
405
+ "message": "Ŝél̂éĉt́ êĺêḿêńt̂ś d̂ó n̂ót̂ h́âv́ê áŝśôćîát̂éd̂ ĺâb́êĺ êĺêḿêńt̂ś."
406
+ },
407
+ "core/audits/accessibility/select-name.js | title": {
408
+ "message": "Ŝél̂éĉt́ êĺêḿêńt̂ś ĥáv̂é âśŝóĉíât́êd́ l̂áb̂él̂ él̂ém̂én̂t́ŝ."
409
+ },
374
410
  "core/audits/accessibility/tabindex.js | description": {
375
411
  "message": "Â v́âĺûé ĝŕêát̂ér̂ t́ĥán̂ 0 ím̂ṕl̂íêś âń êx́p̂ĺîćît́ n̂áv̂íĝát̂íôń ôŕd̂ér̂ín̂ǵ. Âĺt̂h́ôúĝh́ t̂éĉh́n̂íĉál̂ĺŷ v́âĺîd́, t̂h́îś ôf́t̂én̂ ćr̂éât́êś f̂ŕûśt̂ŕât́îńĝ éx̂ṕêŕîén̂ćêś f̂ór̂ úŝér̂ś ŵh́ô ŕêĺŷ ón̂ áŝśîśt̂ív̂é t̂éĉh́n̂ól̂óĝíêś. [L̂éâŕn̂ ḿôŕê áb̂óût́ t̂h́ê `tabindex` át̂t́r̂íb̂út̂é](https://dequeuniversity.com/rules/axe/4.7/tabindex)."
376
412
  },