lighthouse 13.3.0 → 13.4.0-dev.20260626
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.
- package/.agents/skills/lighthouse-verification/SKILL.md +23 -0
- package/cli/cli-flags.d.ts +8 -9
- package/cli/test/smokehouse/config/exclusions.js +2 -0
- package/cli/test/smokehouse/version-check.d.ts +1 -1
- package/core/audits/accessibility/accesskeys.js +1 -1
- package/core/audits/accessibility/aria-allowed-attr.js +1 -1
- package/core/audits/accessibility/aria-allowed-role.js +1 -1
- package/core/audits/accessibility/aria-command-name.js +1 -1
- package/core/audits/accessibility/aria-conditional-attr.js +1 -1
- package/core/audits/accessibility/aria-deprecated-role.js +1 -1
- package/core/audits/accessibility/aria-dialog-name.js +1 -1
- package/core/audits/accessibility/aria-hidden-body.js +1 -1
- package/core/audits/accessibility/aria-hidden-focus.js +1 -1
- package/core/audits/accessibility/aria-input-field-name.js +1 -1
- package/core/audits/accessibility/aria-meter-name.js +1 -1
- package/core/audits/accessibility/aria-progressbar-name.js +1 -1
- package/core/audits/accessibility/aria-prohibited-attr.js +1 -1
- package/core/audits/accessibility/aria-required-attr.js +1 -1
- package/core/audits/accessibility/aria-required-children.js +1 -1
- package/core/audits/accessibility/aria-required-parent.js +1 -1
- package/core/audits/accessibility/aria-roles.js +1 -1
- package/core/audits/accessibility/aria-text.js +1 -1
- package/core/audits/accessibility/aria-toggle-field-name.js +1 -1
- package/core/audits/accessibility/aria-tooltip-name.js +1 -1
- package/core/audits/accessibility/aria-treeitem-name.js +1 -1
- package/core/audits/accessibility/aria-valid-attr-value.js +1 -1
- package/core/audits/accessibility/aria-valid-attr.js +1 -1
- package/core/audits/accessibility/autocomplete-valid.js +1 -1
- package/core/audits/accessibility/button-name.js +1 -1
- package/core/audits/accessibility/bypass.js +1 -1
- package/core/audits/accessibility/color-contrast.js +1 -1
- package/core/audits/accessibility/definition-list.js +1 -1
- package/core/audits/accessibility/dlitem.js +1 -1
- package/core/audits/accessibility/document-title.js +1 -1
- package/core/audits/accessibility/duplicate-id-aria.js +1 -1
- package/core/audits/accessibility/empty-heading.js +1 -1
- package/core/audits/accessibility/form-field-multiple-labels.js +1 -1
- package/core/audits/accessibility/frame-title.js +1 -1
- package/core/audits/accessibility/heading-order.js +1 -1
- package/core/audits/accessibility/html-has-lang.js +1 -1
- package/core/audits/accessibility/html-lang-valid.js +1 -1
- package/core/audits/accessibility/html-xml-lang-mismatch.js +1 -1
- package/core/audits/accessibility/identical-links-same-purpose.js +1 -1
- package/core/audits/accessibility/image-alt.js +1 -1
- package/core/audits/accessibility/image-redundant-alt.js +1 -1
- package/core/audits/accessibility/input-button-name.js +1 -1
- package/core/audits/accessibility/input-image-alt.js +1 -1
- package/core/audits/accessibility/label-content-name-mismatch.js +1 -1
- package/core/audits/accessibility/label.js +1 -1
- package/core/audits/accessibility/landmark-one-main.js +1 -1
- package/core/audits/accessibility/link-in-text-block.js +1 -1
- package/core/audits/accessibility/link-name.js +1 -1
- package/core/audits/accessibility/list.js +1 -1
- package/core/audits/accessibility/listitem.js +1 -1
- package/core/audits/accessibility/meta-refresh.js +1 -1
- package/core/audits/accessibility/meta-viewport.js +1 -1
- package/core/audits/accessibility/object-alt.js +1 -1
- package/core/audits/accessibility/presentation-role-conflict.js +1 -1
- package/core/audits/accessibility/select-name.js +1 -1
- package/core/audits/accessibility/skip-link.js +1 -1
- package/core/audits/accessibility/svg-img-alt.js +1 -1
- package/core/audits/accessibility/tabindex.js +1 -1
- package/core/audits/accessibility/table-duplicate-name.js +1 -1
- package/core/audits/accessibility/table-fake-caption.js +1 -1
- package/core/audits/accessibility/target-size.js +1 -1
- package/core/audits/accessibility/td-has-header.js +1 -1
- package/core/audits/accessibility/td-headers-attr.js +1 -1
- package/core/audits/accessibility/th-has-data-cells.js +1 -1
- package/core/audits/accessibility/valid-lang.js +1 -1
- package/core/audits/accessibility/video-caption.js +1 -1
- package/core/audits/agentic/llms-txt.d.ts +1 -0
- package/core/audits/agentic/llms-txt.js +14 -1
- package/core/audits/baseline.js +10 -12
- package/core/audits/dobetterweb/geolocation-on-start.js +2 -1
- package/core/audits/network-requests.js +2 -0
- package/core/audits/seo/canonical.js +19 -7
- package/core/audits/seo/robots-txt.d.ts +1 -0
- package/core/audits/seo/robots-txt.js +22 -8
- package/core/computed/js-bundles.d.ts +1 -1
- package/core/computed/load-simulator.d.ts +1 -1
- package/core/computed/metrics/first-contentful-paint-all-frames.d.ts +1 -1
- package/core/computed/metrics/first-contentful-paint.d.ts +1 -1
- package/core/computed/metrics/interactive.d.ts +1 -1
- package/core/computed/metrics/lantern-metric.d.ts +6 -6
- package/core/computed/metrics/largest-contentful-paint-all-frames.d.ts +1 -1
- package/core/computed/metrics/largest-contentful-paint.d.ts +1 -1
- package/core/computed/metrics/max-potential-fid.d.ts +1 -1
- package/core/computed/metrics/speed-index.d.ts +1 -1
- package/core/computed/metrics/time-to-first-byte.d.ts +1 -1
- package/core/computed/metrics/total-blocking-time.d.ts +1 -1
- package/core/computed/module-duplication.d.ts +1 -1
- package/core/computed/page-dependency-graph.d.ts +1 -1
- package/core/computed/unused-css.d.ts +1 -1
- package/core/config/agentic-browsing-config.d.ts +1 -0
- package/core/config/agentic-browsing-config.js +1 -0
- package/core/config/config-helpers.d.ts +1 -0
- package/core/config/config-helpers.js +1 -1
- package/core/config/config-plugin.d.ts +1 -0
- package/core/config/config-plugin.js +1 -0
- package/core/config/config.d.ts +1 -0
- package/core/config/config.js +1 -0
- package/core/config/constants.d.ts +1 -0
- package/core/config/constants.js +1 -0
- package/core/config/experimental-config.d.ts +1 -9
- package/core/config/experimental-config.js +2 -0
- package/core/config/filters.d.ts +1 -0
- package/core/config/filters.js +1 -0
- package/core/config/full-config.d.ts +1 -5
- package/core/config/full-config.js +2 -0
- package/core/config/lr-desktop-config.d.ts +1 -0
- package/core/config/lr-desktop-config.js +1 -0
- package/core/config/lr-mobile-config.d.ts +1 -5
- package/core/config/lr-mobile-config.js +2 -0
- package/core/config/perf-config.d.ts +1 -5
- package/core/config/perf-config.js +2 -0
- package/core/config/validation.d.ts +1 -0
- package/core/config/validation.js +1 -0
- package/core/gather/driver/execution-context.d.ts +23 -0
- package/core/gather/driver/execution-context.js +86 -1
- package/core/gather/driver/storage.js +13 -0
- package/core/gather/driver.d.ts +1 -1
- package/core/gather/gatherers/accessibility.js +1 -0
- package/core/gather/gatherers/agentic/llms-txt.js +5 -1
- package/core/gather/gatherers/seo/robots-txt.js +6 -1
- package/core/gather/gatherers/trace-elements.d.ts +4 -1
- package/core/gather/gatherers/trace-elements.js +24 -28
- package/core/gather/gatherers/webmcp-schema.js +9 -16
- package/core/gather/gatherers/webmcp.d.ts +5 -0
- package/core/gather/gatherers/webmcp.js +34 -27
- package/core/lib/baseline/web-features-data.json +1179 -0
- package/core/lib/baseline/web-features-metadata.json +1 -1
- package/core/lib/deprecations-strings.d.ts +113 -89
- package/core/lib/deprecations-strings.js +24 -0
- package/core/lib/script-helpers.js +13 -1
- package/core/scoring.d.ts +58 -58
- package/dist/report/bundle.esm.js +4 -7
- package/dist/report/flow.js +6 -9
- package/dist/report/standalone.js +20 -12
- package/flow-report/types/flow-report.d.ts +2 -2
- package/package.json +28 -28
- package/report/assets/styles.css +1 -4
- package/report/renderer/components.js +1 -1
- package/report/renderer/details-renderer.d.ts +6 -1
- package/report/renderer/details-renderer.js +11 -3
- package/report/renderer/explodey-gauge.js +9 -7
- package/report/renderer/i18n-formatter.d.ts +1 -1
- package/report/renderer/logger.js +18 -4
- package/report/renderer/text-encoding.js +1 -1
- package/report/types/html-renderer.d.ts +2 -2
- package/shared/localization/locales/ar-XB.json +290 -65
- package/shared/localization/locales/ar.json +290 -65
- package/shared/localization/locales/bg.json +290 -65
- package/shared/localization/locales/ca.json +295 -70
- package/shared/localization/locales/cs.json +290 -65
- package/shared/localization/locales/da.json +294 -69
- package/shared/localization/locales/de.json +295 -70
- package/shared/localization/locales/el.json +290 -65
- package/shared/localization/locales/en-GB.json +290 -65
- package/shared/localization/locales/en-US.json +86 -68
- package/shared/localization/locales/en-XA.json +253 -64
- package/shared/localization/locales/en-XL.json +86 -68
- package/shared/localization/locales/es-419.json +290 -65
- package/shared/localization/locales/es.json +298 -73
- package/shared/localization/locales/fi.json +290 -65
- package/shared/localization/locales/fil.json +290 -65
- package/shared/localization/locales/fr.json +294 -69
- package/shared/localization/locales/he.json +293 -68
- package/shared/localization/locales/hi.json +291 -66
- package/shared/localization/locales/hr.json +290 -65
- package/shared/localization/locales/hu.json +290 -65
- package/shared/localization/locales/id.json +290 -65
- package/shared/localization/locales/it.json +294 -69
- package/shared/localization/locales/ja.json +290 -65
- package/shared/localization/locales/ko.json +290 -65
- package/shared/localization/locales/lt.json +290 -65
- package/shared/localization/locales/lv.json +290 -65
- package/shared/localization/locales/nl.json +290 -65
- package/shared/localization/locales/no.json +290 -65
- package/shared/localization/locales/pl.json +290 -65
- package/shared/localization/locales/pt-PT.json +291 -66
- package/shared/localization/locales/pt.json +290 -65
- package/shared/localization/locales/ro.json +290 -65
- package/shared/localization/locales/ru.json +301 -76
- package/shared/localization/locales/sk.json +291 -66
- package/shared/localization/locales/sl.json +290 -65
- package/shared/localization/locales/sr-Latn.json +290 -65
- package/shared/localization/locales/sr.json +290 -65
- package/shared/localization/locales/sv.json +297 -72
- package/shared/localization/locales/ta.json +291 -66
- package/shared/localization/locales/te.json +293 -68
- package/shared/localization/locales/th.json +291 -66
- package/shared/localization/locales/tr.json +290 -65
- package/shared/localization/locales/uk.json +290 -65
- package/shared/localization/locales/vi.json +291 -66
- package/shared/localization/locales/zh-HK.json +292 -67
- package/shared/localization/locales/zh-TW.json +291 -66
- package/shared/localization/locales/zh.json +291 -66
- package/shared/types/shared.d.ts +1 -1
- package/tsconfig-base.json +2 -1
- package/tsconfig.json +2 -0
- package/types/artifacts.d.ts +1 -1
- package/types/internal/rxjs.d.ts +1 -1
- package/types/internal/smokehouse.d.ts +1 -1
- package/types.d.ts +2 -0
- package/types.js +11 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"core/audits/accessibility/accesskeys.js | description": {
|
|
3
|
-
"message": "Access keys let users quickly focus a part of the page. For proper navigation, each access key must be unique. [Learn more about access keys](https://dequeuniversity.com/rules/axe/4.
|
|
3
|
+
"message": "Access keys let users quickly focus a part of the page. For proper navigation, each access key must be unique. [Learn more about access keys](https://dequeuniversity.com/rules/axe/4.12/accesskeys)."
|
|
4
4
|
},
|
|
5
5
|
"core/audits/accessibility/accesskeys.js | failureTitle": {
|
|
6
6
|
"message": "`[accesskey]` values are not unique"
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"message": "`[accesskey]` values are unique"
|
|
10
10
|
},
|
|
11
11
|
"core/audits/accessibility/aria-allowed-attr.js | description": {
|
|
12
|
-
"message": "Each ARIA `role` supports a specific subset of `aria-*` attributes. Mismatching these invalidates the `aria-*` attributes. [Learn how to match ARIA attributes to their roles](https://dequeuniversity.com/rules/axe/4.
|
|
12
|
+
"message": "Each ARIA `role` supports a specific subset of `aria-*` attributes. Mismatching these invalidates the `aria-*` attributes. [Learn how to match ARIA attributes to their roles](https://dequeuniversity.com/rules/axe/4.12/aria-allowed-attr)."
|
|
13
13
|
},
|
|
14
14
|
"core/audits/accessibility/aria-allowed-attr.js | failureTitle": {
|
|
15
15
|
"message": "`[aria-*]` attributes do not match their roles"
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"message": "`[aria-*]` attributes match their roles"
|
|
19
19
|
},
|
|
20
20
|
"core/audits/accessibility/aria-allowed-role.js | description": {
|
|
21
|
-
"message": "Many HTML elements can only be assigned certain ARIA roles. Using ARIA roles where they are not allowed can interfere with the accessibility of the web page. [Learn more about ARIA roles](https://dequeuniversity.com/rules/axe/4.
|
|
21
|
+
"message": "Many HTML elements can only be assigned certain ARIA roles. Using ARIA roles where they are not allowed can interfere with the accessibility of the web page. [Learn more about ARIA roles](https://dequeuniversity.com/rules/axe/4.12/aria-allowed-role)."
|
|
22
22
|
},
|
|
23
23
|
"core/audits/accessibility/aria-allowed-role.js | failureTitle": {
|
|
24
24
|
"message": "Uses ARIA roles on incompatible elements"
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"message": "Uses ARIA roles only on compatible elements"
|
|
28
28
|
},
|
|
29
29
|
"core/audits/accessibility/aria-command-name.js | description": {
|
|
30
|
-
"message": "When an element 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 how to make command elements more accessible](https://dequeuniversity.com/rules/axe/4.
|
|
30
|
+
"message": "When an element 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 how to make command elements more accessible](https://dequeuniversity.com/rules/axe/4.12/aria-command-name)."
|
|
31
31
|
},
|
|
32
32
|
"core/audits/accessibility/aria-command-name.js | failureTitle": {
|
|
33
33
|
"message": "`button`, `link` and `menuitem` elements do not have accessible names."
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"message": "`button`, `link` and `menuitem` elements have accessible names"
|
|
37
37
|
},
|
|
38
38
|
"core/audits/accessibility/aria-conditional-attr.js | description": {
|
|
39
|
-
"message": "Some ARIA attributes are only allowed on an element under certain conditions. [Learn more about conditional ARIA attributes](https://dequeuniversity.com/rules/axe/4.
|
|
39
|
+
"message": "Some ARIA attributes are only allowed on an element under certain conditions. [Learn more about conditional ARIA attributes](https://dequeuniversity.com/rules/axe/4.12/aria-conditional-attr)."
|
|
40
40
|
},
|
|
41
41
|
"core/audits/accessibility/aria-conditional-attr.js | failureTitle": {
|
|
42
42
|
"message": "ARIA attributes are not used as specified for the element's role"
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"message": "ARIA attributes are used as specified for the element's role"
|
|
46
46
|
},
|
|
47
47
|
"core/audits/accessibility/aria-deprecated-role.js | description": {
|
|
48
|
-
"message": "Deprecated ARIA roles may not be processed correctly by assistive technology. [Learn more about deprecated ARIA roles](https://dequeuniversity.com/rules/axe/4.
|
|
48
|
+
"message": "Deprecated ARIA roles may not be processed correctly by assistive technology. [Learn more about deprecated ARIA roles](https://dequeuniversity.com/rules/axe/4.12/aria-deprecated-role)."
|
|
49
49
|
},
|
|
50
50
|
"core/audits/accessibility/aria-deprecated-role.js | failureTitle": {
|
|
51
51
|
"message": "Deprecated ARIA roles were used"
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"message": "Deprecated ARIA roles were not used"
|
|
55
55
|
},
|
|
56
56
|
"core/audits/accessibility/aria-dialog-name.js | description": {
|
|
57
|
-
"message": "ARIA dialogue elements without accessible names may prevent screen reader users from discerning the purpose of these elements. [Learn how to make ARIA dialog elements more accessible](https://dequeuniversity.com/rules/axe/4.
|
|
57
|
+
"message": "ARIA dialogue elements without accessible names may prevent screen reader users from discerning the purpose of these elements. [Learn how to make ARIA dialog elements more accessible](https://dequeuniversity.com/rules/axe/4.12/aria-dialog-name)."
|
|
58
58
|
},
|
|
59
59
|
"core/audits/accessibility/aria-dialog-name.js | failureTitle": {
|
|
60
60
|
"message": "Elements with `role=\"dialog\"` or `role=\"alertdialog\"` do not have accessible names."
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"message": "Elements with `role=\"dialog\"` or `role=\"alertdialog\"` have accessible names."
|
|
64
64
|
},
|
|
65
65
|
"core/audits/accessibility/aria-hidden-body.js | description": {
|
|
66
|
-
"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.
|
|
66
|
+
"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.12/aria-hidden-body)."
|
|
67
67
|
},
|
|
68
68
|
"core/audits/accessibility/aria-hidden-body.js | failureTitle": {
|
|
69
69
|
"message": "`[aria-hidden=\"true\"]` is present on the document `<body>`"
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"message": "`[aria-hidden=\"true\"]` is not present on the document `<body>`"
|
|
73
73
|
},
|
|
74
74
|
"core/audits/accessibility/aria-hidden-focus.js | description": {
|
|
75
|
-
"message": "Focusable descendants within an `[aria-hidden=\"true\"]` element prevent those interactive elements from being available to users of assistive technologies like screen readers. [Learn how `aria-hidden` affects focusable elements](https://dequeuniversity.com/rules/axe/4.
|
|
75
|
+
"message": "Focusable descendants within an `[aria-hidden=\"true\"]` element prevent those interactive elements from being available to users of assistive technologies like screen readers. [Learn how `aria-hidden` affects focusable elements](https://dequeuniversity.com/rules/axe/4.12/aria-hidden-focus)."
|
|
76
76
|
},
|
|
77
77
|
"core/audits/accessibility/aria-hidden-focus.js | failureTitle": {
|
|
78
78
|
"message": "`[aria-hidden=\"true\"]` elements contain focusable descendents"
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"message": "`[aria-hidden=\"true\"]` elements do not contain focusable descendents"
|
|
82
82
|
},
|
|
83
83
|
"core/audits/accessibility/aria-input-field-name.js | description": {
|
|
84
|
-
"message": "When an input 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 input field labels](https://dequeuniversity.com/rules/axe/4.
|
|
84
|
+
"message": "When an input 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 input field labels](https://dequeuniversity.com/rules/axe/4.12/aria-input-field-name)."
|
|
85
85
|
},
|
|
86
86
|
"core/audits/accessibility/aria-input-field-name.js | failureTitle": {
|
|
87
87
|
"message": "ARIA input fields do not have accessible names"
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
"message": "ARIA input fields have accessible names"
|
|
91
91
|
},
|
|
92
92
|
"core/audits/accessibility/aria-meter-name.js | description": {
|
|
93
|
-
"message": "When a meter element 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 how to name `meter` elements](https://dequeuniversity.com/rules/axe/4.
|
|
93
|
+
"message": "When a meter element 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 how to name `meter` elements](https://dequeuniversity.com/rules/axe/4.12/aria-meter-name)."
|
|
94
94
|
},
|
|
95
95
|
"core/audits/accessibility/aria-meter-name.js | failureTitle": {
|
|
96
96
|
"message": "ARIA `meter` elements do not have accessible names."
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
"message": "ARIA `meter` elements have accessible names"
|
|
100
100
|
},
|
|
101
101
|
"core/audits/accessibility/aria-progressbar-name.js | description": {
|
|
102
|
-
"message": "When a `progressbar` element 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 how to label `progressbar` elements](https://dequeuniversity.com/rules/axe/4.
|
|
102
|
+
"message": "When a `progressbar` element 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 how to label `progressbar` elements](https://dequeuniversity.com/rules/axe/4.12/aria-progressbar-name)."
|
|
103
103
|
},
|
|
104
104
|
"core/audits/accessibility/aria-progressbar-name.js | failureTitle": {
|
|
105
105
|
"message": "ARIA `progressbar` elements do not have accessible names."
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
"message": "ARIA `progressbar` elements have accessible names"
|
|
109
109
|
},
|
|
110
110
|
"core/audits/accessibility/aria-prohibited-attr.js | description": {
|
|
111
|
-
"message": "Using ARIA attributes in roles where they are prohibited can mean that important information is not communicated to users of assistive technologies. [Learn more about prohibited ARIA roles](https://dequeuniversity.com/rules/axe/4.
|
|
111
|
+
"message": "Using ARIA attributes in roles where they are prohibited can mean that important information is not communicated to users of assistive technologies. [Learn more about prohibited ARIA roles](https://dequeuniversity.com/rules/axe/4.12/aria-prohibited-attr)."
|
|
112
112
|
},
|
|
113
113
|
"core/audits/accessibility/aria-prohibited-attr.js | failureTitle": {
|
|
114
114
|
"message": "Elements use prohibited ARIA attributes"
|
|
@@ -117,7 +117,7 @@
|
|
|
117
117
|
"message": "Elements use only permitted ARIA attributes"
|
|
118
118
|
},
|
|
119
119
|
"core/audits/accessibility/aria-required-attr.js | description": {
|
|
120
|
-
"message": "Some ARIA roles have required attributes that describe the state of the element to screen readers. [Learn more about roles and required attributes](https://dequeuniversity.com/rules/axe/4.
|
|
120
|
+
"message": "Some ARIA roles have required attributes that describe the state of the element to screen readers. [Learn more about roles and required attributes](https://dequeuniversity.com/rules/axe/4.12/aria-required-attr)."
|
|
121
121
|
},
|
|
122
122
|
"core/audits/accessibility/aria-required-attr.js | failureTitle": {
|
|
123
123
|
"message": "`[role]`s do not have all required `[aria-*]` attributes"
|
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
"message": "`[role]`s have all required `[aria-*]` attributes"
|
|
127
127
|
},
|
|
128
128
|
"core/audits/accessibility/aria-required-children.js | description": {
|
|
129
|
-
"message": "Some ARIA parent roles must contain specific child roles to perform their intended accessibility functions. [Learn more about roles and required children elements](https://dequeuniversity.com/rules/axe/4.
|
|
129
|
+
"message": "Some ARIA parent roles must contain specific child roles to perform their intended accessibility functions. [Learn more about roles and required children elements](https://dequeuniversity.com/rules/axe/4.12/aria-required-children)."
|
|
130
130
|
},
|
|
131
131
|
"core/audits/accessibility/aria-required-children.js | failureTitle": {
|
|
132
132
|
"message": "Elements with an ARIA `[role]` that require children to contain a specific `[role]` are missing some or all of those required children."
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
"message": "Elements with an ARIA `[role]` that require children to contain a specific `[role]` have all required children."
|
|
136
136
|
},
|
|
137
137
|
"core/audits/accessibility/aria-required-parent.js | description": {
|
|
138
|
-
"message": "Some ARIA child roles must be contained by specific parent roles to properly perform their intended accessibility functions. [Learn more about ARIA roles and required parent element](https://dequeuniversity.com/rules/axe/4.
|
|
138
|
+
"message": "Some ARIA child roles must be contained by specific parent roles to properly perform their intended accessibility functions. [Learn more about ARIA roles and required parent element](https://dequeuniversity.com/rules/axe/4.12/aria-required-parent)."
|
|
139
139
|
},
|
|
140
140
|
"core/audits/accessibility/aria-required-parent.js | failureTitle": {
|
|
141
141
|
"message": "`[role]`s are not contained by their required parent element"
|
|
@@ -144,7 +144,7 @@
|
|
|
144
144
|
"message": "`[role]`s are contained by their required parent element"
|
|
145
145
|
},
|
|
146
146
|
"core/audits/accessibility/aria-roles.js | description": {
|
|
147
|
-
"message": "ARIA roles must have valid values in order to perform their intended accessibility functions. [Learn more about valid ARIA roles](https://dequeuniversity.com/rules/axe/4.
|
|
147
|
+
"message": "ARIA roles must have valid values in order to perform their intended accessibility functions. [Learn more about valid ARIA roles](https://dequeuniversity.com/rules/axe/4.12/aria-roles)."
|
|
148
148
|
},
|
|
149
149
|
"core/audits/accessibility/aria-roles.js | failureTitle": {
|
|
150
150
|
"message": "`[role]` values are not valid"
|
|
@@ -153,7 +153,7 @@
|
|
|
153
153
|
"message": "`[role]` values are valid"
|
|
154
154
|
},
|
|
155
155
|
"core/audits/accessibility/aria-text.js | description": {
|
|
156
|
-
"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.
|
|
156
|
+
"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.12/aria-text)."
|
|
157
157
|
},
|
|
158
158
|
"core/audits/accessibility/aria-text.js | failureTitle": {
|
|
159
159
|
"message": "Elements with the `role=text` attribute do have focusable descendents."
|
|
@@ -162,7 +162,7 @@
|
|
|
162
162
|
"message": "Elements with the `role=text` attribute do not have focusable descendents."
|
|
163
163
|
},
|
|
164
164
|
"core/audits/accessibility/aria-toggle-field-name.js | description": {
|
|
165
|
-
"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.
|
|
165
|
+
"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.12/aria-toggle-field-name)."
|
|
166
166
|
},
|
|
167
167
|
"core/audits/accessibility/aria-toggle-field-name.js | failureTitle": {
|
|
168
168
|
"message": "ARIA toggle fields do not have accessible names"
|
|
@@ -171,7 +171,7 @@
|
|
|
171
171
|
"message": "ARIA toggle fields have accessible names"
|
|
172
172
|
},
|
|
173
173
|
"core/audits/accessibility/aria-tooltip-name.js | description": {
|
|
174
|
-
"message": "When a tooltip element 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 how to name `tooltip` elements](https://dequeuniversity.com/rules/axe/4.
|
|
174
|
+
"message": "When a tooltip element 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 how to name `tooltip` elements](https://dequeuniversity.com/rules/axe/4.12/aria-tooltip-name)."
|
|
175
175
|
},
|
|
176
176
|
"core/audits/accessibility/aria-tooltip-name.js | failureTitle": {
|
|
177
177
|
"message": "ARIA `tooltip` elements do not have accessible names."
|
|
@@ -180,7 +180,7 @@
|
|
|
180
180
|
"message": "ARIA `tooltip` elements have accessible names"
|
|
181
181
|
},
|
|
182
182
|
"core/audits/accessibility/aria-treeitem-name.js | description": {
|
|
183
|
-
"message": "When a `treeitem` element 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 labelling `treeitem` elements](https://dequeuniversity.com/rules/axe/4.
|
|
183
|
+
"message": "When a `treeitem` element 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 labelling `treeitem` elements](https://dequeuniversity.com/rules/axe/4.12/aria-treeitem-name)."
|
|
184
184
|
},
|
|
185
185
|
"core/audits/accessibility/aria-treeitem-name.js | failureTitle": {
|
|
186
186
|
"message": "ARIA `treeitem` elements do not have accessible names."
|
|
@@ -189,7 +189,7 @@
|
|
|
189
189
|
"message": "ARIA `treeitem` elements have accessible names"
|
|
190
190
|
},
|
|
191
191
|
"core/audits/accessibility/aria-valid-attr-value.js | description": {
|
|
192
|
-
"message": "Assistive technologies, such as screen readers, can't interpret ARIA attributes with invalid values. [Learn more about valid values for ARIA attributes](https://dequeuniversity.com/rules/axe/4.
|
|
192
|
+
"message": "Assistive technologies, such as screen readers, can't interpret ARIA attributes with invalid values. [Learn more about valid values for ARIA attributes](https://dequeuniversity.com/rules/axe/4.12/aria-valid-attr-value)."
|
|
193
193
|
},
|
|
194
194
|
"core/audits/accessibility/aria-valid-attr-value.js | failureTitle": {
|
|
195
195
|
"message": "`[aria-*]` attributes do not have valid values"
|
|
@@ -198,7 +198,7 @@
|
|
|
198
198
|
"message": "`[aria-*]` attributes have valid values"
|
|
199
199
|
},
|
|
200
200
|
"core/audits/accessibility/aria-valid-attr.js | description": {
|
|
201
|
-
"message": "Assistive technologies, such as screen readers, can't interpret ARIA attributes with invalid names. [Learn more about valid ARIA attributes](https://dequeuniversity.com/rules/axe/4.
|
|
201
|
+
"message": "Assistive technologies, such as screen readers, can't interpret ARIA attributes with invalid names. [Learn more about valid ARIA attributes](https://dequeuniversity.com/rules/axe/4.12/aria-valid-attr)."
|
|
202
202
|
},
|
|
203
203
|
"core/audits/accessibility/aria-valid-attr.js | failureTitle": {
|
|
204
204
|
"message": "`[aria-*]` attributes are not valid or misspelled"
|
|
@@ -206,11 +206,20 @@
|
|
|
206
206
|
"core/audits/accessibility/aria-valid-attr.js | title": {
|
|
207
207
|
"message": "`[aria-*]` attributes are valid and not misspelled"
|
|
208
208
|
},
|
|
209
|
+
"core/audits/accessibility/autocomplete-valid.js | description": {
|
|
210
|
+
"message": "The `autocomplete` attribute values must be valid and correctly applied for screen readers to function correctly. [Learn more about valid autocomplete values](https://dequeuniversity.com/rules/axe/4.12/autocomplete-valid)."
|
|
211
|
+
},
|
|
212
|
+
"core/audits/accessibility/autocomplete-valid.js | failureTitle": {
|
|
213
|
+
"message": "`autocomplete` attributes are not used correctly"
|
|
214
|
+
},
|
|
215
|
+
"core/audits/accessibility/autocomplete-valid.js | title": {
|
|
216
|
+
"message": "`autocomplete` attributes are used correctly"
|
|
217
|
+
},
|
|
209
218
|
"core/audits/accessibility/axe-audit.js | failingElementsHeader": {
|
|
210
219
|
"message": "Failing elements"
|
|
211
220
|
},
|
|
212
221
|
"core/audits/accessibility/button-name.js | description": {
|
|
213
|
-
"message": "When a button doesn't have an accessible name, screen readers announce it as 'button', making it unusable for users who rely on screen readers. [Learn how to make buttons more accessible](https://dequeuniversity.com/rules/axe/4.
|
|
222
|
+
"message": "When a button doesn't have an accessible name, screen readers announce it as 'button', making it unusable for users who rely on screen readers. [Learn how to make buttons more accessible](https://dequeuniversity.com/rules/axe/4.12/button-name)."
|
|
214
223
|
},
|
|
215
224
|
"core/audits/accessibility/button-name.js | failureTitle": {
|
|
216
225
|
"message": "Buttons do not have an accessible name"
|
|
@@ -219,7 +228,7 @@
|
|
|
219
228
|
"message": "Buttons have an accessible name"
|
|
220
229
|
},
|
|
221
230
|
"core/audits/accessibility/bypass.js | description": {
|
|
222
|
-
"message": "Adding ways to bypass repetitive content lets keyboard users navigate the page more efficiently. [Learn more about bypass blocks](https://dequeuniversity.com/rules/axe/4.
|
|
231
|
+
"message": "Adding ways to bypass repetitive content lets keyboard users navigate the page more efficiently. [Learn more about bypass blocks](https://dequeuniversity.com/rules/axe/4.12/bypass)."
|
|
223
232
|
},
|
|
224
233
|
"core/audits/accessibility/bypass.js | failureTitle": {
|
|
225
234
|
"message": "The page does not contain a heading, skip link or landmark region"
|
|
@@ -228,7 +237,7 @@
|
|
|
228
237
|
"message": "The page contains a heading, skip link or landmark region"
|
|
229
238
|
},
|
|
230
239
|
"core/audits/accessibility/color-contrast.js | description": {
|
|
231
|
-
"message": "Low-contrast text is difficult or impossible for many users to read. [Learn how to provide sufficient colour contrast](https://dequeuniversity.com/rules/axe/4.
|
|
240
|
+
"message": "Low-contrast text is difficult or impossible for many users to read. [Learn how to provide sufficient colour contrast](https://dequeuniversity.com/rules/axe/4.12/color-contrast)."
|
|
232
241
|
},
|
|
233
242
|
"core/audits/accessibility/color-contrast.js | failureTitle": {
|
|
234
243
|
"message": "Background and foreground colours do not have a sufficient contrast ratio."
|
|
@@ -237,7 +246,7 @@
|
|
|
237
246
|
"message": "Background and foreground colours have a sufficient contrast ratio"
|
|
238
247
|
},
|
|
239
248
|
"core/audits/accessibility/definition-list.js | description": {
|
|
240
|
-
"message": "When definition lists are not properly marked up, screen readers may produce confusing or inaccurate output. [Learn how to structure definition lists correctly](https://dequeuniversity.com/rules/axe/4.
|
|
249
|
+
"message": "When definition lists are not properly marked up, screen readers may produce confusing or inaccurate output. [Learn how to structure definition lists correctly](https://dequeuniversity.com/rules/axe/4.12/definition-list)."
|
|
241
250
|
},
|
|
242
251
|
"core/audits/accessibility/definition-list.js | failureTitle": {
|
|
243
252
|
"message": "`<dl>`'s do not contain only properly-ordered `<dt>` and `<dd>` groups, `<script>`, `<template>` or `<div>` elements."
|
|
@@ -246,7 +255,7 @@
|
|
|
246
255
|
"message": "`<dl>`'s contain only properly-ordered `<dt>` and `<dd>` groups, `<script>`, `<template>` or `<div>` elements."
|
|
247
256
|
},
|
|
248
257
|
"core/audits/accessibility/dlitem.js | description": {
|
|
249
|
-
"message": "Definition list items (`<dt>` and `<dd>`) must be wrapped in a parent `<dl>` element to ensure that screen readers can properly announce them. [Learn how to structure definition lists correctly](https://dequeuniversity.com/rules/axe/4.
|
|
258
|
+
"message": "Definition list items (`<dt>` and `<dd>`) must be wrapped in a parent `<dl>` element to ensure that screen readers can properly announce them. [Learn how to structure definition lists correctly](https://dequeuniversity.com/rules/axe/4.12/dlitem)."
|
|
250
259
|
},
|
|
251
260
|
"core/audits/accessibility/dlitem.js | failureTitle": {
|
|
252
261
|
"message": "Definition list items are not wrapped in `<dl>` elements"
|
|
@@ -255,7 +264,7 @@
|
|
|
255
264
|
"message": "Definition list items are wrapped in `<dl>` elements"
|
|
256
265
|
},
|
|
257
266
|
"core/audits/accessibility/document-title.js | description": {
|
|
258
|
-
"message": "The title gives screen reader users an overview of the page, and search engine users rely on it heavily to determine if a page is relevant to their search. [Learn more about document titles](https://dequeuniversity.com/rules/axe/4.
|
|
267
|
+
"message": "The title gives screen reader users an overview of the page, and search engine users rely on it heavily to determine if a page is relevant to their search. [Learn more about document titles](https://dequeuniversity.com/rules/axe/4.12/document-title)."
|
|
259
268
|
},
|
|
260
269
|
"core/audits/accessibility/document-title.js | failureTitle": {
|
|
261
270
|
"message": "Document doesn't have a `<title>` element"
|
|
@@ -264,7 +273,7 @@
|
|
|
264
273
|
"message": "Document has a `<title>` element"
|
|
265
274
|
},
|
|
266
275
|
"core/audits/accessibility/duplicate-id-aria.js | description": {
|
|
267
|
-
"message": "The value of an ARIA ID must be unique to prevent other instances from being overlooked by assistive technologies. [Learn how to fix duplicate ARIA IDs](https://dequeuniversity.com/rules/axe/4.
|
|
276
|
+
"message": "The value of an ARIA ID must be unique to prevent other instances from being overlooked by assistive technologies. [Learn how to fix duplicate ARIA IDs](https://dequeuniversity.com/rules/axe/4.12/duplicate-id-aria)."
|
|
268
277
|
},
|
|
269
278
|
"core/audits/accessibility/duplicate-id-aria.js | failureTitle": {
|
|
270
279
|
"message": "ARIA IDs are not unique"
|
|
@@ -273,7 +282,7 @@
|
|
|
273
282
|
"message": "ARIA IDs are unique"
|
|
274
283
|
},
|
|
275
284
|
"core/audits/accessibility/empty-heading.js | description": {
|
|
276
|
-
"message": "A heading with no content or inaccessible text prevents screen reader users from accessing information on the page's structure. [Learn more about headings](https://dequeuniversity.com/rules/axe/4.
|
|
285
|
+
"message": "A heading with no content or inaccessible text prevents screen reader users from accessing information on the page's structure. [Learn more about headings](https://dequeuniversity.com/rules/axe/4.12/empty-heading)."
|
|
277
286
|
},
|
|
278
287
|
"core/audits/accessibility/empty-heading.js | failureTitle": {
|
|
279
288
|
"message": "Heading elements do not contain content."
|
|
@@ -282,7 +291,7 @@
|
|
|
282
291
|
"message": "All heading elements contain content."
|
|
283
292
|
},
|
|
284
293
|
"core/audits/accessibility/form-field-multiple-labels.js | description": {
|
|
285
|
-
"message": "Form fields with multiple labels can be confusingly announced by assistive technologies, like screen readers, which use either the first, the last or all of the labels. [Learn how to use form labels](https://dequeuniversity.com/rules/axe/4.
|
|
294
|
+
"message": "Form fields with multiple labels can be confusingly announced by assistive technologies, like screen readers, which use either the first, the last or all of the labels. [Learn how to use form labels](https://dequeuniversity.com/rules/axe/4.12/form-field-multiple-labels)."
|
|
286
295
|
},
|
|
287
296
|
"core/audits/accessibility/form-field-multiple-labels.js | failureTitle": {
|
|
288
297
|
"message": "Form fields have multiple labels"
|
|
@@ -291,7 +300,7 @@
|
|
|
291
300
|
"message": "No form fields have multiple labels"
|
|
292
301
|
},
|
|
293
302
|
"core/audits/accessibility/frame-title.js | description": {
|
|
294
|
-
"message": "Screen reader users rely on frame titles to describe the contents of frames. [Learn more about frame titles](https://dequeuniversity.com/rules/axe/4.
|
|
303
|
+
"message": "Screen reader users rely on frame titles to describe the contents of frames. [Learn more about frame titles](https://dequeuniversity.com/rules/axe/4.12/frame-title)."
|
|
295
304
|
},
|
|
296
305
|
"core/audits/accessibility/frame-title.js | failureTitle": {
|
|
297
306
|
"message": "`<frame>` or `<iframe>` elements do not have a title"
|
|
@@ -300,7 +309,7 @@
|
|
|
300
309
|
"message": "`<frame>` or `<iframe>` elements have a title"
|
|
301
310
|
},
|
|
302
311
|
"core/audits/accessibility/heading-order.js | description": {
|
|
303
|
-
"message": "Properly ordered headings that do not skip levels convey the semantic structure of the page, making it easier to navigate and understand when using assistive technologies. [Learn more about heading order](https://dequeuniversity.com/rules/axe/4.
|
|
312
|
+
"message": "Properly ordered headings that do not skip levels convey the semantic structure of the page, making it easier to navigate and understand when using assistive technologies. [Learn more about heading order](https://dequeuniversity.com/rules/axe/4.12/heading-order)."
|
|
304
313
|
},
|
|
305
314
|
"core/audits/accessibility/heading-order.js | failureTitle": {
|
|
306
315
|
"message": "Heading elements are not in a sequentially-descending order"
|
|
@@ -309,7 +318,7 @@
|
|
|
309
318
|
"message": "Heading elements appear in a sequentially-descending order"
|
|
310
319
|
},
|
|
311
320
|
"core/audits/accessibility/html-has-lang.js | description": {
|
|
312
|
-
"message": "If a page doesn't specify a `lang` attribute, a screen reader assumes that the page is in the default language that the user chose when setting up the screen reader. If the page isn't actually in the default language, then the screen reader might not announce the page's text correctly. [Learn more about the `lang` attribute](https://dequeuniversity.com/rules/axe/4.
|
|
321
|
+
"message": "If a page doesn't specify a `lang` attribute, a screen reader assumes that the page is in the default language that the user chose when setting up the screen reader. If the page isn't actually in the default language, then the screen reader might not announce the page's text correctly. [Learn more about the `lang` attribute](https://dequeuniversity.com/rules/axe/4.12/html-has-lang)."
|
|
313
322
|
},
|
|
314
323
|
"core/audits/accessibility/html-has-lang.js | failureTitle": {
|
|
315
324
|
"message": "`<html>` element does not have a `[lang]` attribute"
|
|
@@ -318,7 +327,7 @@
|
|
|
318
327
|
"message": "`<html>` element has a `[lang]` attribute"
|
|
319
328
|
},
|
|
320
329
|
"core/audits/accessibility/html-lang-valid.js | description": {
|
|
321
|
-
"message": "Specifying a valid [BCP 47 language](https://www.w3.org/International/questions/qa-choosing-language-tags#question) helps screen readers announce text properly. [Learn how to use the `lang` attribute](https://dequeuniversity.com/rules/axe/4.
|
|
330
|
+
"message": "Specifying a valid [BCP 47 language](https://www.w3.org/International/questions/qa-choosing-language-tags#question) helps screen readers announce text properly. [Learn how to use the `lang` attribute](https://dequeuniversity.com/rules/axe/4.12/html-lang-valid)."
|
|
322
331
|
},
|
|
323
332
|
"core/audits/accessibility/html-lang-valid.js | failureTitle": {
|
|
324
333
|
"message": "`<html>` element does not have a valid value for its `[lang]` attribute."
|
|
@@ -327,7 +336,7 @@
|
|
|
327
336
|
"message": "`<html>` element has a valid value for its `[lang]` attribute"
|
|
328
337
|
},
|
|
329
338
|
"core/audits/accessibility/html-xml-lang-mismatch.js | description": {
|
|
330
|
-
"message": "If the webpage does not specify a consistent language, then the screen reader might not announce the page's text correctly. [Learn more about the `lang` attribute](https://dequeuniversity.com/rules/axe/4.
|
|
339
|
+
"message": "If the webpage does not specify a consistent language, then the screen reader might not announce the page's text correctly. [Learn more about the `lang` attribute](https://dequeuniversity.com/rules/axe/4.12/html-xml-lang-mismatch)."
|
|
331
340
|
},
|
|
332
341
|
"core/audits/accessibility/html-xml-lang-mismatch.js | failureTitle": {
|
|
333
342
|
"message": "`<html>` element does not have an `[xml:lang]` attribute with the same base language as the `[lang]` attribute."
|
|
@@ -336,7 +345,7 @@
|
|
|
336
345
|
"message": "`<html>` element has an `[xml:lang]` attribute with the same base language as the `[lang]` attribute."
|
|
337
346
|
},
|
|
338
347
|
"core/audits/accessibility/identical-links-same-purpose.js | description": {
|
|
339
|
-
"message": "Links with the same destination should have the same description, to help users understand the link's purpose and decide whether to follow it. [Learn more about identical links](https://dequeuniversity.com/rules/axe/4.
|
|
348
|
+
"message": "Links with the same destination should have the same description, to help users understand the link's purpose and decide whether to follow it. [Learn more about identical links](https://dequeuniversity.com/rules/axe/4.12/identical-links-same-purpose)."
|
|
340
349
|
},
|
|
341
350
|
"core/audits/accessibility/identical-links-same-purpose.js | failureTitle": {
|
|
342
351
|
"message": "Identical links do not have the same purpose."
|
|
@@ -345,7 +354,7 @@
|
|
|
345
354
|
"message": "Identical links have the same purpose."
|
|
346
355
|
},
|
|
347
356
|
"core/audits/accessibility/image-alt.js | description": {
|
|
348
|
-
"message": "Informative elements should aim for short, descriptive alternative text. Decorative elements can be ignored with an empty alt attribute. [Learn more about the `alt` attribute](https://dequeuniversity.com/rules/axe/4.
|
|
357
|
+
"message": "Informative elements should aim for short, descriptive alternative text. Decorative elements can be ignored with an empty alt attribute. [Learn more about the `alt` attribute](https://dequeuniversity.com/rules/axe/4.12/image-alt)."
|
|
349
358
|
},
|
|
350
359
|
"core/audits/accessibility/image-alt.js | failureTitle": {
|
|
351
360
|
"message": "Image elements do not have `[alt]` attributes"
|
|
@@ -354,7 +363,7 @@
|
|
|
354
363
|
"message": "Image elements have `[alt]` attributes"
|
|
355
364
|
},
|
|
356
365
|
"core/audits/accessibility/image-redundant-alt.js | description": {
|
|
357
|
-
"message": "Informative elements should aim for short, descriptive alternative text. Alternative text that is exactly the same as the text adjacent to the link or image is potentially confusing for screen reader users, because the text will be read twice. [Learn more about the `alt` attribute](https://dequeuniversity.com/rules/axe/4.
|
|
366
|
+
"message": "Informative elements should aim for short, descriptive alternative text. Alternative text that is exactly the same as the text adjacent to the link or image is potentially confusing for screen reader users, because the text will be read twice. [Learn more about the `alt` attribute](https://dequeuniversity.com/rules/axe/4.12/image-redundant-alt)."
|
|
358
367
|
},
|
|
359
368
|
"core/audits/accessibility/image-redundant-alt.js | failureTitle": {
|
|
360
369
|
"message": "Image elements have `[alt]` attributes that are redundant text."
|
|
@@ -363,7 +372,7 @@
|
|
|
363
372
|
"message": "Image elements do not have `[alt]` attributes that are redundant text."
|
|
364
373
|
},
|
|
365
374
|
"core/audits/accessibility/input-button-name.js | description": {
|
|
366
|
-
"message": "Adding discernable and accessible text to input buttons may help screen reader users to understand the purpose of the input button. [Learn more about input buttons](https://dequeuniversity.com/rules/axe/4.
|
|
375
|
+
"message": "Adding discernable and accessible text to input buttons may help screen reader users to understand the purpose of the input button. [Learn more about input buttons](https://dequeuniversity.com/rules/axe/4.12/input-button-name)."
|
|
367
376
|
},
|
|
368
377
|
"core/audits/accessibility/input-button-name.js | failureTitle": {
|
|
369
378
|
"message": "Input buttons do not have discernible text."
|
|
@@ -372,7 +381,7 @@
|
|
|
372
381
|
"message": "Input buttons have discernible text."
|
|
373
382
|
},
|
|
374
383
|
"core/audits/accessibility/input-image-alt.js | description": {
|
|
375
|
-
"message": "When an image is being used as an `<input>` button, providing alternative text can help screen reader users understand the purpose of the button. [Learn about input image alt text](https://dequeuniversity.com/rules/axe/4.
|
|
384
|
+
"message": "When an image is being used as an `<input>` button, providing alternative text can help screen reader users understand the purpose of the button. [Learn about input image alt text](https://dequeuniversity.com/rules/axe/4.12/input-image-alt)."
|
|
376
385
|
},
|
|
377
386
|
"core/audits/accessibility/input-image-alt.js | failureTitle": {
|
|
378
387
|
"message": "`<input type=\"image\">` elements do not have `[alt]` text"
|
|
@@ -381,7 +390,7 @@
|
|
|
381
390
|
"message": "`<input type=\"image\">` elements have `[alt]` text"
|
|
382
391
|
},
|
|
383
392
|
"core/audits/accessibility/label-content-name-mismatch.js | description": {
|
|
384
|
-
"message": "Visible text labels that do not match the accessible name can result in a confusing experience for screen reader users. [Learn more about accessible names](https://dequeuniversity.com/rules/axe/4.
|
|
393
|
+
"message": "Visible text labels that do not match the accessible name can result in a confusing experience for screen reader users. [Learn more about accessible names](https://dequeuniversity.com/rules/axe/4.12/label-content-name-mismatch)."
|
|
385
394
|
},
|
|
386
395
|
"core/audits/accessibility/label-content-name-mismatch.js | failureTitle": {
|
|
387
396
|
"message": "Elements with visible text labels do not have matching accessible names."
|
|
@@ -390,7 +399,7 @@
|
|
|
390
399
|
"message": "Elements with visible text labels have matching accessible names."
|
|
391
400
|
},
|
|
392
401
|
"core/audits/accessibility/label.js | description": {
|
|
393
|
-
"message": "Labels ensure that form controls are announced properly by assistive technologies, such as screen readers. [Learn more about form element labels](https://dequeuniversity.com/rules/axe/4.
|
|
402
|
+
"message": "Labels ensure that form controls are announced properly by assistive technologies, such as screen readers. [Learn more about form element labels](https://dequeuniversity.com/rules/axe/4.12/label)."
|
|
394
403
|
},
|
|
395
404
|
"core/audits/accessibility/label.js | failureTitle": {
|
|
396
405
|
"message": "Form elements do not have associated labels"
|
|
@@ -399,7 +408,7 @@
|
|
|
399
408
|
"message": "Form elements have associated labels"
|
|
400
409
|
},
|
|
401
410
|
"core/audits/accessibility/landmark-one-main.js | description": {
|
|
402
|
-
"message": "One main landmark helps screen reader users navigate a web page. [Learn more about landmarks](https://dequeuniversity.com/rules/axe/4.
|
|
411
|
+
"message": "One main landmark helps screen reader users navigate a web page. [Learn more about landmarks](https://dequeuniversity.com/rules/axe/4.12/landmark-one-main)."
|
|
403
412
|
},
|
|
404
413
|
"core/audits/accessibility/landmark-one-main.js | failureTitle": {
|
|
405
414
|
"message": "Document does not have a main landmark."
|
|
@@ -408,7 +417,7 @@
|
|
|
408
417
|
"message": "Document has a main landmark."
|
|
409
418
|
},
|
|
410
419
|
"core/audits/accessibility/link-in-text-block.js | description": {
|
|
411
|
-
"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.
|
|
420
|
+
"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.12/link-in-text-block)."
|
|
412
421
|
},
|
|
413
422
|
"core/audits/accessibility/link-in-text-block.js | failureTitle": {
|
|
414
423
|
"message": "Links rely on colour to be distinguishable."
|
|
@@ -417,7 +426,7 @@
|
|
|
417
426
|
"message": "Links are distinguishable without relying on colour."
|
|
418
427
|
},
|
|
419
428
|
"core/audits/accessibility/link-name.js | description": {
|
|
420
|
-
"message": "Link text (and alternative 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.
|
|
429
|
+
"message": "Link text (and alternative 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.12/link-name)."
|
|
421
430
|
},
|
|
422
431
|
"core/audits/accessibility/link-name.js | failureTitle": {
|
|
423
432
|
"message": "Links do not have a discernible name"
|
|
@@ -426,7 +435,7 @@
|
|
|
426
435
|
"message": "Links have a discernible name"
|
|
427
436
|
},
|
|
428
437
|
"core/audits/accessibility/list.js | description": {
|
|
429
|
-
"message": "Screen readers have a specific way of announcing lists. Ensuring proper list structure aids screen reader output. [Learn more about proper list structure](https://dequeuniversity.com/rules/axe/4.
|
|
438
|
+
"message": "Screen readers have a specific way of announcing lists. Ensuring proper list structure aids screen reader output. [Learn more about proper list structure](https://dequeuniversity.com/rules/axe/4.12/list)."
|
|
430
439
|
},
|
|
431
440
|
"core/audits/accessibility/list.js | failureTitle": {
|
|
432
441
|
"message": "Lists do not contain only `<li>` elements and script supporting elements (`<script>` and `<template>`)."
|
|
@@ -435,7 +444,7 @@
|
|
|
435
444
|
"message": "Lists contain only `<li>` elements and script supporting elements (`<script>` and `<template>`)."
|
|
436
445
|
},
|
|
437
446
|
"core/audits/accessibility/listitem.js | description": {
|
|
438
|
-
"message": "Screen readers require list items (`<li>`) to be contained within a parent `<ul>`, `<ol>` or `<menu>` to be announced properly. [Learn more about proper list structure](https://dequeuniversity.com/rules/axe/4.
|
|
447
|
+
"message": "Screen readers require list items (`<li>`) to be contained within a parent `<ul>`, `<ol>` or `<menu>` to be announced properly. [Learn more about proper list structure](https://dequeuniversity.com/rules/axe/4.12/listitem)."
|
|
439
448
|
},
|
|
440
449
|
"core/audits/accessibility/listitem.js | failureTitle": {
|
|
441
450
|
"message": "List items (`<li>`) are not contained within `<ul>`, `<ol>` or `<menu>` parent elements."
|
|
@@ -444,7 +453,7 @@
|
|
|
444
453
|
"message": "List items (`<li>`) are contained within `<ul>`, `<ol>` or `<menu>` parent elements"
|
|
445
454
|
},
|
|
446
455
|
"core/audits/accessibility/meta-refresh.js | description": {
|
|
447
|
-
"message": "Users do not expect a page to refresh automatically and doing so will move focus back to the top of the page. This may create a frustrating or confusing experience. [Learn more about the refresh meta tag](https://dequeuniversity.com/rules/axe/4.
|
|
456
|
+
"message": "Users do not expect a page to refresh automatically and doing so will move focus back to the top of the page. This may create a frustrating or confusing experience. [Learn more about the refresh meta tag](https://dequeuniversity.com/rules/axe/4.12/meta-refresh)."
|
|
448
457
|
},
|
|
449
458
|
"core/audits/accessibility/meta-refresh.js | failureTitle": {
|
|
450
459
|
"message": "The document uses `<meta http-equiv=\"refresh\">`"
|
|
@@ -453,7 +462,7 @@
|
|
|
453
462
|
"message": "The document does not use `<meta http-equiv=\"refresh\">`"
|
|
454
463
|
},
|
|
455
464
|
"core/audits/accessibility/meta-viewport.js | description": {
|
|
456
|
-
"message": "Disabling zooming is problematic for users with low vision who rely on screen magnification to properly see the contents of a web page. [Learn more about the viewport meta tag](https://dequeuniversity.com/rules/axe/4.
|
|
465
|
+
"message": "Disabling zooming is problematic for users with low vision who rely on screen magnification to properly see the contents of a web page. [Learn more about the viewport meta tag](https://dequeuniversity.com/rules/axe/4.12/meta-viewport)."
|
|
457
466
|
},
|
|
458
467
|
"core/audits/accessibility/meta-viewport.js | failureTitle": {
|
|
459
468
|
"message": "`[user-scalable=\"no\"]` is used in the `<meta name=\"viewport\">` element or the `[maximum-scale]` attribute is less than 5."
|
|
@@ -462,7 +471,7 @@
|
|
|
462
471
|
"message": "`[user-scalable=\"no\"]` is not used in the `<meta name=\"viewport\">` element and the `[maximum-scale]` attribute is not less than 5."
|
|
463
472
|
},
|
|
464
473
|
"core/audits/accessibility/object-alt.js | description": {
|
|
465
|
-
"message": "Screen readers cannot translate non-text content. Adding alternative text to `<object>` elements helps screen readers convey meaning to users. [Learn more about alt text for `object` elements](https://dequeuniversity.com/rules/axe/4.
|
|
474
|
+
"message": "Screen readers cannot translate non-text content. Adding alternative text to `<object>` elements helps screen readers convey meaning to users. [Learn more about alt text for `object` elements](https://dequeuniversity.com/rules/axe/4.12/object-alt)."
|
|
466
475
|
},
|
|
467
476
|
"core/audits/accessibility/object-alt.js | failureTitle": {
|
|
468
477
|
"message": "`<object>` elements do not have alternative text"
|
|
@@ -470,8 +479,17 @@
|
|
|
470
479
|
"core/audits/accessibility/object-alt.js | title": {
|
|
471
480
|
"message": "`<object>` elements have alternative text"
|
|
472
481
|
},
|
|
482
|
+
"core/audits/accessibility/presentation-role-conflict.js | description": {
|
|
483
|
+
"message": "There are certain cases where the semantic role of an element with `role=\"none\"` or `role=\"presentation\"` does not resolve to none or presentation. To ensure that the element remains removed from the accessibility tree, you should not add any global ARIA attributes to the element or make it focusable. [Learn more about presentation role conflict](https://dequeuniversity.com/rules/axe/4.12/presentation-role-conflict)."
|
|
484
|
+
},
|
|
485
|
+
"core/audits/accessibility/presentation-role-conflict.js | failureTitle": {
|
|
486
|
+
"message": "Elements with `role=\"none\"` or `role=\"presentation\"` have conflicts"
|
|
487
|
+
},
|
|
488
|
+
"core/audits/accessibility/presentation-role-conflict.js | title": {
|
|
489
|
+
"message": "Elements with `role=\"none\"` or `role=\"presentation\"` do not have conflicts"
|
|
490
|
+
},
|
|
473
491
|
"core/audits/accessibility/select-name.js | description": {
|
|
474
|
-
"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.
|
|
492
|
+
"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.12/select-name)."
|
|
475
493
|
},
|
|
476
494
|
"core/audits/accessibility/select-name.js | failureTitle": {
|
|
477
495
|
"message": "Select elements do not have associated label elements."
|
|
@@ -480,7 +498,7 @@
|
|
|
480
498
|
"message": "Select elements have associated label elements."
|
|
481
499
|
},
|
|
482
500
|
"core/audits/accessibility/skip-link.js | description": {
|
|
483
|
-
"message": "Including a skip link can help users skip to the main content to save time. [Learn more about skip links](https://dequeuniversity.com/rules/axe/4.
|
|
501
|
+
"message": "Including a skip link can help users skip to the main content to save time. [Learn more about skip links](https://dequeuniversity.com/rules/axe/4.12/skip-link)."
|
|
484
502
|
},
|
|
485
503
|
"core/audits/accessibility/skip-link.js | failureTitle": {
|
|
486
504
|
"message": "Skip links are not focusable."
|
|
@@ -488,8 +506,17 @@
|
|
|
488
506
|
"core/audits/accessibility/skip-link.js | title": {
|
|
489
507
|
"message": "Skip links are focusable."
|
|
490
508
|
},
|
|
509
|
+
"core/audits/accessibility/svg-img-alt.js | description": {
|
|
510
|
+
"message": "Ensures that SVG elements with an `img`, `graphics-document` or `graphics-symbol` role have an accessible text alternative. [Learn more about SVG alt text](https://dequeuniversity.com/rules/axe/4.12/svg-img-alt)."
|
|
511
|
+
},
|
|
512
|
+
"core/audits/accessibility/svg-img-alt.js | failureTitle": {
|
|
513
|
+
"message": "SVG elements with an `img` role do not have an accessible text alternative"
|
|
514
|
+
},
|
|
515
|
+
"core/audits/accessibility/svg-img-alt.js | title": {
|
|
516
|
+
"message": "SVG elements with an `img` role have an accessible text alternative"
|
|
517
|
+
},
|
|
491
518
|
"core/audits/accessibility/tabindex.js | description": {
|
|
492
|
-
"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.
|
|
519
|
+
"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.12/tabindex)."
|
|
493
520
|
},
|
|
494
521
|
"core/audits/accessibility/tabindex.js | failureTitle": {
|
|
495
522
|
"message": "Some elements have a `[tabindex]` value greater than 0"
|
|
@@ -498,7 +525,7 @@
|
|
|
498
525
|
"message": "No element has a `[tabindex]` value greater than 0"
|
|
499
526
|
},
|
|
500
527
|
"core/audits/accessibility/table-duplicate-name.js | description": {
|
|
501
|
-
"message": "The summary attribute should describe the table structure, while `<caption>` should have the onscreen title. Accurate table mark-up helps users of screen readers. [Learn more about summary and caption](https://dequeuniversity.com/rules/axe/4.
|
|
528
|
+
"message": "The summary attribute should describe the table structure, while `<caption>` should have the onscreen title. Accurate table mark-up helps users of screen readers. [Learn more about summary and caption](https://dequeuniversity.com/rules/axe/4.12/table-duplicate-name)."
|
|
502
529
|
},
|
|
503
530
|
"core/audits/accessibility/table-duplicate-name.js | failureTitle": {
|
|
504
531
|
"message": "Tables have the same content in the summary attribute and `<caption>.`"
|
|
@@ -507,7 +534,7 @@
|
|
|
507
534
|
"message": "Tables have different content in the summary attribute and `<caption>`."
|
|
508
535
|
},
|
|
509
536
|
"core/audits/accessibility/table-fake-caption.js | description": {
|
|
510
|
-
"message": "Screen readers have features to make navigating tables easier. Ensuring that tables use the actual caption element instead of cells with the `[colspan]` attribute may improve the experience for screen reader users. [Learn more about captions](https://dequeuniversity.com/rules/axe/4.
|
|
537
|
+
"message": "Screen readers have features to make navigating tables easier. Ensuring that tables use the actual caption element instead of cells with the `[colspan]` attribute may improve the experience for screen reader users. [Learn more about captions](https://dequeuniversity.com/rules/axe/4.12/table-fake-caption)."
|
|
511
538
|
},
|
|
512
539
|
"core/audits/accessibility/table-fake-caption.js | failureTitle": {
|
|
513
540
|
"message": "Tables do not use `<caption>` instead of cells with the `[colspan]` attribute to indicate a caption."
|
|
@@ -516,7 +543,7 @@
|
|
|
516
543
|
"message": "Tables use `<caption>` instead of cells with the `[colspan]` attribute to indicate a caption."
|
|
517
544
|
},
|
|
518
545
|
"core/audits/accessibility/target-size.js | description": {
|
|
519
|
-
"message": "Touch targets with sufficient size and spacing help users who may have difficulty targeting small controls to activate the targets. [Learn more about touch targets](https://dequeuniversity.com/rules/axe/4.
|
|
546
|
+
"message": "Touch targets with sufficient size and spacing help users who may have difficulty targeting small controls to activate the targets. [Learn more about touch targets](https://dequeuniversity.com/rules/axe/4.12/target-size)."
|
|
520
547
|
},
|
|
521
548
|
"core/audits/accessibility/target-size.js | failureTitle": {
|
|
522
549
|
"message": "Touch targets do not have sufficient size or spacing."
|
|
@@ -525,7 +552,7 @@
|
|
|
525
552
|
"message": "Touch targets have sufficient size and spacing."
|
|
526
553
|
},
|
|
527
554
|
"core/audits/accessibility/td-has-header.js | description": {
|
|
528
|
-
"message": "Screen readers have features to make navigating tables easier. Ensuring that `<td>` elements in a large table (three or more cells in width and height) have an associated table header may improve the experience for screen reader users. [Learn more about table headers](https://dequeuniversity.com/rules/axe/4.
|
|
555
|
+
"message": "Screen readers have features to make navigating tables easier. Ensuring that `<td>` elements in a large table (three or more cells in width and height) have an associated table header may improve the experience for screen reader users. [Learn more about table headers](https://dequeuniversity.com/rules/axe/4.12/td-has-header)."
|
|
529
556
|
},
|
|
530
557
|
"core/audits/accessibility/td-has-header.js | failureTitle": {
|
|
531
558
|
"message": "`<td>` elements in a large `<table>` do not have table headers."
|
|
@@ -534,7 +561,7 @@
|
|
|
534
561
|
"message": "`<td>` elements in a large `<table>` have one or more table headers."
|
|
535
562
|
},
|
|
536
563
|
"core/audits/accessibility/td-headers-attr.js | description": {
|
|
537
|
-
"message": "Screen readers have features to make navigating tables easier. Ensuring that`<td>` cells using the `[headers]` attribute only refer to other cells in the same table may improve the experience for screen reader users. [Learn more about the `headers` attribute](https://dequeuniversity.com/rules/axe/4.
|
|
564
|
+
"message": "Screen readers have features to make navigating tables easier. Ensuring that`<td>` cells using the `[headers]` attribute only refer to other cells in the same table may improve the experience for screen reader users. [Learn more about the `headers` attribute](https://dequeuniversity.com/rules/axe/4.12/td-headers-attr)."
|
|
538
565
|
},
|
|
539
566
|
"core/audits/accessibility/td-headers-attr.js | failureTitle": {
|
|
540
567
|
"message": "Cells in a `<table>` element that use the `[headers]` attribute refer to an element `id` not found within the same table."
|
|
@@ -543,7 +570,7 @@
|
|
|
543
570
|
"message": "Cells in a `<table>` element that use the `[headers]` attribute refer to table cells within the same table."
|
|
544
571
|
},
|
|
545
572
|
"core/audits/accessibility/th-has-data-cells.js | description": {
|
|
546
|
-
"message": "Screen readers have features to make navigating tables easier. Ensuring that table headers always refer to some set of cells may improve the experience for screen reader users. [Learn more about table headers](https://dequeuniversity.com/rules/axe/4.
|
|
573
|
+
"message": "Screen readers have features to make navigating tables easier. Ensuring that table headers always refer to some set of cells may improve the experience for screen reader users. [Learn more about table headers](https://dequeuniversity.com/rules/axe/4.12/th-has-data-cells)."
|
|
547
574
|
},
|
|
548
575
|
"core/audits/accessibility/th-has-data-cells.js | failureTitle": {
|
|
549
576
|
"message": "`<th>` elements and elements with `[role=\"columnheader\"/\"rowheader\"]` do not have data cells they describe."
|
|
@@ -552,7 +579,7 @@
|
|
|
552
579
|
"message": "`<th>` elements and elements with `[role=\"columnheader\"/\"rowheader\"]` have data cells they describe."
|
|
553
580
|
},
|
|
554
581
|
"core/audits/accessibility/valid-lang.js | description": {
|
|
555
|
-
"message": "Specifying a valid [BCP 47 language](https://www.w3.org/International/questions/qa-choosing-language-tags#question) on elements helps ensure that text is pronounced correctly by a screen reader. [Learn how to use the `lang` attribute](https://dequeuniversity.com/rules/axe/4.
|
|
582
|
+
"message": "Specifying a valid [BCP 47 language](https://www.w3.org/International/questions/qa-choosing-language-tags#question) on elements helps ensure that text is pronounced correctly by a screen reader. [Learn how to use the `lang` attribute](https://dequeuniversity.com/rules/axe/4.12/valid-lang)."
|
|
556
583
|
},
|
|
557
584
|
"core/audits/accessibility/valid-lang.js | failureTitle": {
|
|
558
585
|
"message": "`[lang]` attributes do not have a valid value"
|
|
@@ -561,7 +588,7 @@
|
|
|
561
588
|
"message": "`[lang]` attributes have a valid value"
|
|
562
589
|
},
|
|
563
590
|
"core/audits/accessibility/video-caption.js | description": {
|
|
564
|
-
"message": "When a video provides a caption it is easier for deaf and hearing-impaired users to access its information. [Learn more about video captions](https://dequeuniversity.com/rules/axe/4.
|
|
591
|
+
"message": "When a video provides a caption it is easier for deaf and hearing-impaired users to access its information. [Learn more about video captions](https://dequeuniversity.com/rules/axe/4.12/video-caption)."
|
|
565
592
|
},
|
|
566
593
|
"core/audits/accessibility/video-caption.js | failureTitle": {
|
|
567
594
|
"message": "`<video>` elements do not contain a `<track>` element with `[kind=\"captions\"]`."
|
|
@@ -569,6 +596,51 @@
|
|
|
569
596
|
"core/audits/accessibility/video-caption.js | title": {
|
|
570
597
|
"message": "`<video>` elements contain a `<track>` element with `[kind=\"captions\"]`"
|
|
571
598
|
},
|
|
599
|
+
"core/audits/agentic/agent-accessibility-tree.js | columnElement": {
|
|
600
|
+
"message": "Failing element"
|
|
601
|
+
},
|
|
602
|
+
"core/audits/agentic/agent-accessibility-tree.js | columnRule": {
|
|
603
|
+
"message": "Failing rule"
|
|
604
|
+
},
|
|
605
|
+
"core/audits/agentic/agent-accessibility-tree.js | description": {
|
|
606
|
+
"message": "A well-formed [accessibility tree](http://goo.gle/lighthouse-agentic-a11y) helps AI agents to navigate and interact with the page."
|
|
607
|
+
},
|
|
608
|
+
"core/audits/agentic/agent-accessibility-tree.js | displayValuePassed": {
|
|
609
|
+
"message": "All audits passed"
|
|
610
|
+
},
|
|
611
|
+
"core/audits/agentic/agent-accessibility-tree.js | failedSectionTitle": {
|
|
612
|
+
"message": "Failed audits"
|
|
613
|
+
},
|
|
614
|
+
"core/audits/agentic/agent-accessibility-tree.js | failureTitle": {
|
|
615
|
+
"message": "Accessibility tree is not well-formed"
|
|
616
|
+
},
|
|
617
|
+
"core/audits/agentic/agent-accessibility-tree.js | title": {
|
|
618
|
+
"message": "Accessibility tree is well-formed"
|
|
619
|
+
},
|
|
620
|
+
"core/audits/agentic/llms-txt.js | description": {
|
|
621
|
+
"message": "If your llms.txt file does not follow recommendations, large language models may not be able to understand how you want your website to be crawled or used for training. The [llms.txt](https://llmstxt.org/) file should be a Markdown file containing at least one H1 header."
|
|
622
|
+
},
|
|
623
|
+
"core/audits/agentic/llms-txt.js | displayValueHttpBadCode": {
|
|
624
|
+
"message": "Failed with HTTP status {statusCode}"
|
|
625
|
+
},
|
|
626
|
+
"core/audits/agentic/llms-txt.js | explanation": {
|
|
627
|
+
"message": "Fetch of llms.txt failed"
|
|
628
|
+
},
|
|
629
|
+
"core/audits/agentic/llms-txt.js | failureTitle": {
|
|
630
|
+
"message": "llms.txt does not follow recommendations"
|
|
631
|
+
},
|
|
632
|
+
"core/audits/agentic/llms-txt.js | missingH1": {
|
|
633
|
+
"message": "File is missing a required H1 header (e.g. '# Title')."
|
|
634
|
+
},
|
|
635
|
+
"core/audits/agentic/llms-txt.js | missingLinks": {
|
|
636
|
+
"message": "File does not appear to contain any links."
|
|
637
|
+
},
|
|
638
|
+
"core/audits/agentic/llms-txt.js | title": {
|
|
639
|
+
"message": "llms.txt follows recommendations"
|
|
640
|
+
},
|
|
641
|
+
"core/audits/agentic/llms-txt.js | tooShort": {
|
|
642
|
+
"message": "File is suspiciously short."
|
|
643
|
+
},
|
|
572
644
|
"core/audits/autocomplete.js | columnCurrent": {
|
|
573
645
|
"message": "Current value"
|
|
574
646
|
},
|
|
@@ -596,6 +668,18 @@
|
|
|
596
668
|
"core/audits/autocomplete.js | warningOrder": {
|
|
597
669
|
"message": "Review order of tokens: '{tokens}' in {snippet}"
|
|
598
670
|
},
|
|
671
|
+
"core/audits/baseline.js | columnFeature": {
|
|
672
|
+
"message": "Web features"
|
|
673
|
+
},
|
|
674
|
+
"core/audits/baseline.js | columnStatus": {
|
|
675
|
+
"message": "Baseline status"
|
|
676
|
+
},
|
|
677
|
+
"core/audits/baseline.js | description": {
|
|
678
|
+
"message": "Lists web features used on the page and their Baseline status as of {date}. [Learn more about Baseline](https://webstatus.dev/)."
|
|
679
|
+
},
|
|
680
|
+
"core/audits/baseline.js | title": {
|
|
681
|
+
"message": "Baseline features"
|
|
682
|
+
},
|
|
599
683
|
"core/audits/bf-cache.js | actionableFailureType": {
|
|
600
684
|
"message": "Actionable"
|
|
601
685
|
},
|
|
@@ -771,7 +855,7 @@
|
|
|
771
855
|
"message": "Page has the HTML doctype"
|
|
772
856
|
},
|
|
773
857
|
"core/audits/dobetterweb/geolocation-on-start.js | description": {
|
|
774
|
-
"message": "Users are mistrustful of or confused by sites that request their location without context. Consider tying the request to a user action instead. [Learn more about the geolocation permission](https://developer.chrome.com/docs/lighthouse/best-practices/geolocation-on-start/)."
|
|
858
|
+
"message": "Users are mistrustful of or confused by sites that request their location without context. Consider tying the request to a user action instead. [Learn more about the geolocation permission](https://developer.chrome.com/docs/lighthouse/best-practices/geolocation-on-start/). Also consider using the [`<geolocation>` element](https://developer.chrome.com/blog/geolocation-html-element)."
|
|
775
859
|
},
|
|
776
860
|
"core/audits/dobetterweb/geolocation-on-start.js | failureTitle": {
|
|
777
861
|
"message": "Requests the geolocation permission on page load"
|
|
@@ -1262,6 +1346,93 @@
|
|
|
1262
1346
|
"core/audits/valid-source-maps.js | title": {
|
|
1263
1347
|
"message": "Page has valid source maps"
|
|
1264
1348
|
},
|
|
1349
|
+
"core/audits/webmcp-form-coverage.js | columnForm": {
|
|
1350
|
+
"message": "Form"
|
|
1351
|
+
},
|
|
1352
|
+
"core/audits/webmcp-form-coverage.js | description": {
|
|
1353
|
+
"message": "Consider adding [WebMCP](http://goo.gle/webmcp-docs) annotations to the forms listed below. This helps AI agents identify and interact with these forms more reliably."
|
|
1354
|
+
},
|
|
1355
|
+
"core/audits/webmcp-form-coverage.js | displayValue": {
|
|
1356
|
+
"message": "{itemCount,plural, =1{1 form missing annotations}other{# forms missing annotations}}"
|
|
1357
|
+
},
|
|
1358
|
+
"core/audits/webmcp-form-coverage.js | title": {
|
|
1359
|
+
"message": "WebMCP form coverage"
|
|
1360
|
+
},
|
|
1361
|
+
"core/audits/webmcp-registered-tools.js | columnDeclarativeElement": {
|
|
1362
|
+
"message": "Element"
|
|
1363
|
+
},
|
|
1364
|
+
"core/audits/webmcp-registered-tools.js | columnDescription": {
|
|
1365
|
+
"message": "Description"
|
|
1366
|
+
},
|
|
1367
|
+
"core/audits/webmcp-registered-tools.js | columnImperativeLocation": {
|
|
1368
|
+
"message": "Source location"
|
|
1369
|
+
},
|
|
1370
|
+
"core/audits/webmcp-registered-tools.js | columnInputSchema": {
|
|
1371
|
+
"message": "Input schema"
|
|
1372
|
+
},
|
|
1373
|
+
"core/audits/webmcp-registered-tools.js | columnTool": {
|
|
1374
|
+
"message": "Tool name"
|
|
1375
|
+
},
|
|
1376
|
+
"core/audits/webmcp-registered-tools.js | description": {
|
|
1377
|
+
"message": "Lists the [WebMCP tools](http://goo.gle/webmcp-docs) registered at the time of analysis."
|
|
1378
|
+
},
|
|
1379
|
+
"core/audits/webmcp-registered-tools.js | title": {
|
|
1380
|
+
"message": "WebMCP tools registered"
|
|
1381
|
+
},
|
|
1382
|
+
"core/audits/webmcp-registered-tools.js | titleDeclarativeTools": {
|
|
1383
|
+
"message": "Declarative tools"
|
|
1384
|
+
},
|
|
1385
|
+
"core/audits/webmcp-registered-tools.js | titleImperativeTools": {
|
|
1386
|
+
"message": "Imperative tools"
|
|
1387
|
+
},
|
|
1388
|
+
"core/audits/webmcp-schema-validity.js | columnElement": {
|
|
1389
|
+
"message": "Element"
|
|
1390
|
+
},
|
|
1391
|
+
"core/audits/webmcp-schema-validity.js | columnIssue": {
|
|
1392
|
+
"message": "Issue"
|
|
1393
|
+
},
|
|
1394
|
+
"core/audits/webmcp-schema-validity.js | description": {
|
|
1395
|
+
"message": "Valid [WebMCP schemas](http://goo.gle/webmcp-docs) are required for AI agents to understand and interact with tools correctly. Please fix any errors or warnings reported by the browser."
|
|
1396
|
+
},
|
|
1397
|
+
"core/audits/webmcp-schema-validity.js | failureTitle": {
|
|
1398
|
+
"message": "WebMCP schemas are invalid"
|
|
1399
|
+
},
|
|
1400
|
+
"core/audits/webmcp-schema-validity.js | missingOptionalParamName": {
|
|
1401
|
+
"message": "Missing `name` attribute for an optional field. Add it to define the parameter name."
|
|
1402
|
+
},
|
|
1403
|
+
"core/audits/webmcp-schema-validity.js | missingParamDescription": {
|
|
1404
|
+
"message": "Add a description to make this form more accessible for AI agents."
|
|
1405
|
+
},
|
|
1406
|
+
"core/audits/webmcp-schema-validity.js | missingRequiredParamName": {
|
|
1407
|
+
"message": "Missing `name` attribute for a required field. Add it to define the parameter name."
|
|
1408
|
+
},
|
|
1409
|
+
"core/audits/webmcp-schema-validity.js | missingToolDescription": {
|
|
1410
|
+
"message": "Form level `tooldescription` attribute is missing. Add it to describe the tool for AI agents."
|
|
1411
|
+
},
|
|
1412
|
+
"core/audits/webmcp-schema-validity.js | missingToolName": {
|
|
1413
|
+
"message": "Form level `toolname` attribute is missing. Add it to define the tool name."
|
|
1414
|
+
},
|
|
1415
|
+
"core/audits/webmcp-schema-validity.js | title": {
|
|
1416
|
+
"message": "WebMCP schemas are valid"
|
|
1417
|
+
},
|
|
1418
|
+
"core/config/agentic-browsing-config.js | agentAccessibilityGroupDescription": {
|
|
1419
|
+
"message": "These audits highlight best practices for improving the accessibility of the website for AI agents."
|
|
1420
|
+
},
|
|
1421
|
+
"core/config/agentic-browsing-config.js | agentAccessibilityGroupTitle": {
|
|
1422
|
+
"message": "Agent accessibility"
|
|
1423
|
+
},
|
|
1424
|
+
"core/config/agentic-browsing-config.js | agenticBrowsingCategoryDescription": {
|
|
1425
|
+
"message": "These checks ensure high-quality, [browsable websites for AI agents](https://goo.gle/lighthouse-agentic-web) and validate the correctness of WebMCP integrations. This category is still under development and subject to change."
|
|
1426
|
+
},
|
|
1427
|
+
"core/config/agentic-browsing-config.js | agenticBrowsingCategoryTitle": {
|
|
1428
|
+
"message": "Agentic browsing"
|
|
1429
|
+
},
|
|
1430
|
+
"core/config/agentic-browsing-config.js | webmcpGroupDescription": {
|
|
1431
|
+
"message": "Audits validating WebMCP integration."
|
|
1432
|
+
},
|
|
1433
|
+
"core/config/agentic-browsing-config.js | webmcpGroupTitle": {
|
|
1434
|
+
"message": "WebMCP"
|
|
1435
|
+
},
|
|
1265
1436
|
"core/config/default-config.js | a11yAriaGroupDescription": {
|
|
1266
1437
|
"message": "These are opportunities to improve the usage of ARIA in your application which may enhance the experience for users of assistive technology, such as a screen reader."
|
|
1267
1438
|
},
|
|
@@ -1319,6 +1490,18 @@
|
|
|
1319
1490
|
"core/config/default-config.js | a11yTablesListsVideoGroupTitle": {
|
|
1320
1491
|
"message": "Tables and lists"
|
|
1321
1492
|
},
|
|
1493
|
+
"core/config/default-config.js | agentAccessibilityGroupDescription": {
|
|
1494
|
+
"message": "These audits highlight best practices for improving the accessibility of the website for AI agents."
|
|
1495
|
+
},
|
|
1496
|
+
"core/config/default-config.js | agentAccessibilityGroupTitle": {
|
|
1497
|
+
"message": "Agent accessibility"
|
|
1498
|
+
},
|
|
1499
|
+
"core/config/default-config.js | agenticBrowsingCategoryDescription": {
|
|
1500
|
+
"message": "These checks ensure high-quality, [browsable websites for AI agents](https://goo.gle/lighthouse-agentic-web) and validate the correctness of WebMCP integrations. This category is still under development and subject to change."
|
|
1501
|
+
},
|
|
1502
|
+
"core/config/default-config.js | agenticBrowsingCategoryTitle": {
|
|
1503
|
+
"message": "Agentic browsing"
|
|
1504
|
+
},
|
|
1322
1505
|
"core/config/default-config.js | bestPracticesBrowserCompatGroupTitle": {
|
|
1323
1506
|
"message": "Browser compatibility"
|
|
1324
1507
|
},
|
|
@@ -1391,6 +1574,12 @@
|
|
|
1391
1574
|
"core/config/default-config.js | seoMobileGroupTitle": {
|
|
1392
1575
|
"message": "Mobile friendly"
|
|
1393
1576
|
},
|
|
1577
|
+
"core/config/default-config.js | webmcpGroupDescription": {
|
|
1578
|
+
"message": "Audits validating WebMCP integration."
|
|
1579
|
+
},
|
|
1580
|
+
"core/config/default-config.js | webmcpGroupTitle": {
|
|
1581
|
+
"message": "WebMCP"
|
|
1582
|
+
},
|
|
1394
1583
|
"core/gather/driver/environment.js | warningSlowHostCpu": {
|
|
1395
1584
|
"message": "The tested device appears to have a slower CPU than Lighthouse expects. This can negatively affect your performance score. Learn more about [calibrating an appropriate CPU slowdown multiplier](https://github.com/GoogleChrome/lighthouse/blob/main/docs/throttling.md#cpu-throttling)."
|
|
1396
1585
|
},
|
|
@@ -1871,6 +2060,12 @@
|
|
|
1871
2060
|
"node_modules/@paulirish/trace_engine/generated/Deprecation.js | DataUrlInSvgUse": {
|
|
1872
2061
|
"message": "Support for data: URLs in SVGUseElement is deprecated and it will be removed in the future."
|
|
1873
2062
|
},
|
|
2063
|
+
"node_modules/@paulirish/trace_engine/generated/Deprecation.js | DocumentCreateEventKeyboardEvents": {
|
|
2064
|
+
"message": "document.createEvent('KeyboardEvents') is deprecated and will be removed. Use new KeyboardEvent() instead."
|
|
2065
|
+
},
|
|
2066
|
+
"node_modules/@paulirish/trace_engine/generated/Deprecation.js | DocumentCreateEventTransitionEvent": {
|
|
2067
|
+
"message": "document.createEvent('TransitionEvent') is deprecated and will be removed. Use new TransitionEvent() instead."
|
|
2068
|
+
},
|
|
1874
2069
|
"node_modules/@paulirish/trace_engine/generated/Deprecation.js | ExampleBrowserProcessDeprecation": {
|
|
1875
2070
|
"message": "This is an example for showing the code required for a browser process reported deprecation."
|
|
1876
2071
|
},
|
|
@@ -1982,6 +2177,9 @@
|
|
|
1982
2177
|
"node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoSupportsFullscreen": {
|
|
1983
2178
|
"message": "HTMLVideoElement.webkitSupportsFullscreen is deprecated. Please use Document.fullscreenEnabled instead."
|
|
1984
2179
|
},
|
|
2180
|
+
"node_modules/@paulirish/trace_engine/generated/Deprecation.js | PreventSvgFilterPaint": {
|
|
2181
|
+
"message": "SVG filters cannot be applied to cross-origin iframes, restricted iframes (e.g. sandboxed) or plug-ins."
|
|
2182
|
+
},
|
|
1985
2183
|
"node_modules/@paulirish/trace_engine/generated/Deprecation.js | RTCConstraintEnableDtlsSrtpFalse": {
|
|
1986
2184
|
"message": "The constraint DtlsSrtpKeyAgreement is removed. You have specified a false value for this constraint, which is interpreted as an attempt to use the removed SDES key negotiation method. This functionality is removed; use a service that supports DTLS key negotiation instead."
|
|
1987
2185
|
},
|
|
@@ -2090,6 +2288,30 @@
|
|
|
2090
2288
|
"node_modules/@paulirish/trace_engine/models/trace/insights/Cache.js | title": {
|
|
2091
2289
|
"message": "Use efficient cache lifetimes"
|
|
2092
2290
|
},
|
|
2291
|
+
"node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | description": {
|
|
2292
|
+
"message": "A character encoding declaration is required. It can be done with a meta charset tag in the first 1024 bytes of the HTML or in the Content-Type HTTP response header. [Learn more about declaring the character encoding](https://developer.chrome.com/docs/insights/charset/)."
|
|
2293
|
+
},
|
|
2294
|
+
"node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | failedHttpHeader": {
|
|
2295
|
+
"message": "Does not declare charset in HTTP header"
|
|
2296
|
+
},
|
|
2297
|
+
"node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | failedMetaCharsetLate": {
|
|
2298
|
+
"message": "Declares charset using a meta tag after the first 1,024 bytes"
|
|
2299
|
+
},
|
|
2300
|
+
"node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | failedMetaCharsetMissing": {
|
|
2301
|
+
"message": "Does not declare charset using a meta tag"
|
|
2302
|
+
},
|
|
2303
|
+
"node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | failedMetaCharsetUnknown": {
|
|
2304
|
+
"message": "Could not determine meta charset declaration from trace"
|
|
2305
|
+
},
|
|
2306
|
+
"node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | passingHttpHeader": {
|
|
2307
|
+
"message": "Declares charset in HTTP header"
|
|
2308
|
+
},
|
|
2309
|
+
"node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | passingMetaCharsetEarly": {
|
|
2310
|
+
"message": "Declares charset using a meta tag in the first 1,024 bytes"
|
|
2311
|
+
},
|
|
2312
|
+
"node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | title": {
|
|
2313
|
+
"message": "Declare a character encoding"
|
|
2314
|
+
},
|
|
2093
2315
|
"node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | description": {
|
|
2094
2316
|
"message": "A large DOM can increase the duration of style calculations and layout reflows, impacting page responsiveness. A large DOM will also increase memory usage. [Learn how to avoid an excessive DOM size](https://developer.chrome.com/docs/performance/insights/dom-size)."
|
|
2095
2317
|
},
|
|
@@ -2297,8 +2519,11 @@
|
|
|
2297
2519
|
"node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | fetchPriorityShouldBeApplied": {
|
|
2298
2520
|
"message": "fetchpriority=high should be applied"
|
|
2299
2521
|
},
|
|
2522
|
+
"node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | fetchPriorityShouldBeAppliedToImagePreload": {
|
|
2523
|
+
"message": "fetchpriority=high should be applied to the image preload request"
|
|
2524
|
+
},
|
|
2300
2525
|
"node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | lazyLoadNotApplied": {
|
|
2301
|
-
"message": "
|
|
2526
|
+
"message": "LCP resources should not use loading=lazy"
|
|
2302
2527
|
},
|
|
2303
2528
|
"node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | lcpLoadDelay": {
|
|
2304
2529
|
"message": "LCP image loaded {PH1} after earliest start point."
|