lighthouse 13.2.0 → 13.4.0
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/cli/cli-flags.d.ts +8 -9
- package/cli/cli-flags.js +2 -2
- package/cli/test/smokehouse/config/exclusions.js +2 -0
- package/cli/test/smokehouse/lighthouse-runners/bundle.js +7 -3
- package/cli/test/smokehouse/lighthouse-runners/cli.js +5 -1
- package/cli/test/smokehouse/lighthouse-runners/devtools-mcp.js +7 -3
- package/cli/test/smokehouse/lighthouse-runners/devtools.js +4 -1
- package/cli/test/smokehouse/smokehouse.js +7 -2
- 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/agent-accessibility-tree.js +1 -1
- package/core/audits/agentic/llms-txt.js +10 -10
- 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/webmcp-form-coverage.js +2 -2
- package/core/audits/webmcp-registered-tools.js +1 -1
- package/core/audits/webmcp-schema-validity.js +1 -1
- 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 +3 -2
- 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/default-config.js +45 -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/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/index.d.ts +0 -1
- package/core/index.js +0 -1
- package/core/lib/baseline/web-features-data.json +1177 -0
- package/core/lib/baseline/web-features-metadata.json +1 -1
- package/core/lib/deprecations-strings.d.ts +45 -23
- package/core/lib/deprecations-strings.js +23 -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 +23 -26
- 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 +105 -75
- package/shared/localization/locales/en-XA.json +253 -64
- package/shared/localization/locales/en-XL.json +105 -75
- 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 +8 -2
- 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": "Các khoá truy cập cho phép người dùng chuyển nhanh đến một phần của trang. Để điều hướng đúng cách, mỗi khoá truy cập phải là duy nhất. [Tìm hiểu thêm về khoá truy cập](https://dequeuniversity.com/rules/axe/4.
|
|
3
|
+
"message": "Các khoá truy cập cho phép người dùng chuyển nhanh đến một phần của trang. Để điều hướng đúng cách, mỗi khoá truy cập phải là duy nhất. [Tìm hiểu thêm về khoá truy cập](https://dequeuniversity.com/rules/axe/4.12/accesskeys)."
|
|
4
4
|
},
|
|
5
5
|
"core/audits/accessibility/accesskeys.js | failureTitle": {
|
|
6
6
|
"message": "Các giá trị của `[accesskey]` không phải là duy nhất"
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"message": "Các giá trị của `[accesskey]` là duy nhất"
|
|
10
10
|
},
|
|
11
11
|
"core/audits/accessibility/aria-allowed-attr.js | description": {
|
|
12
|
-
"message": "Mỗi `role` của Ứng dụng Internet phong phú dễ dùng (ARIA) hỗ trợ một tập hợp con cụ thể các thuộc tính `aria-*`. Nếu không trùng khớp, các thuộc tính `aria-*` sẽ bị vô hiệu. [Tìm hiểu cách khớp các thuộc tính của Ứng dụng Internet phong phú dễ dùng (ARIA) với vai trò của những thuộc tính này](https://dequeuniversity.com/rules/axe/4.
|
|
12
|
+
"message": "Mỗi `role` của Ứng dụng Internet phong phú dễ dùng (ARIA) hỗ trợ một tập hợp con cụ thể các thuộc tính `aria-*`. Nếu không trùng khớp, các thuộc tính `aria-*` sẽ bị vô hiệu. [Tìm hiểu cách khớp các thuộc tính của Ứng dụng Internet phong phú dễ dùng (ARIA) với vai trò của những thuộc tính này](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": "Các thuộc tính `[aria-*]` không khớp với vai trò tương ứng"
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"message": "Các thuộc tính `[aria-*]` khớp với vai trò tương ứng"
|
|
19
19
|
},
|
|
20
20
|
"core/audits/accessibility/aria-allowed-role.js | description": {
|
|
21
|
-
"message": "Nhiều phần tử HTML chỉ có thể được chỉ định những vai trò nhất định của ARIA. Việc sử dụng vai trò của ARIA cho các phần tử không được phép có thể ảnh hưởng đến khả năng hỗ trợ tiếp cận của trang web. [Tìm hiểu thêm về các vai trò của ARIA](https://dequeuniversity.com/rules/axe/4.
|
|
21
|
+
"message": "Nhiều phần tử HTML chỉ có thể được chỉ định những vai trò nhất định của ARIA. Việc sử dụng vai trò của ARIA cho các phần tử không được phép có thể ảnh hưởng đến khả năng hỗ trợ tiếp cận của trang web. [Tìm hiểu thêm về các vai trò của ARIA](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": "Sử dụng vai trò của ARIA cho các phần tử không tương thích"
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"message": "Chỉ sử dụng vai trò của ARIA cho các phần tử tương thích"
|
|
28
28
|
},
|
|
29
29
|
"core/audits/accessibility/aria-command-name.js | description": {
|
|
30
|
-
"message": "Khi một phần tử không có tên thành phần hỗ trợ tiếp cận, trình đọc màn hình sẽ gọi phần tử đó bằng một tên gọi chung, dẫn đến việc người dùng trình đọc màn hình không sử dụng được phần tử này. [Tìm hiểu cách giúp các phần tử lệnh dễ tiếp cận hơn](https://dequeuniversity.com/rules/axe/4.
|
|
30
|
+
"message": "Khi một phần tử không có tên thành phần hỗ trợ tiếp cận, trình đọc màn hình sẽ gọi phần tử đó bằng một tên gọi chung, dẫn đến việc người dùng trình đọc màn hình không sử dụng được phần tử này. [Tìm hiểu cách giúp các phần tử lệnh dễ tiếp cận hơn](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": "Các phần tử `button`, `link` và `menuitem` không có tên dễ đọc."
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"message": "Các phần tử `button`, `link` và `menuitem` có tên dễ đọc"
|
|
37
37
|
},
|
|
38
38
|
"core/audits/accessibility/aria-conditional-attr.js | description": {
|
|
39
|
-
"message": "Một số thuộc tính ARIA chỉ có thể được sử dụng trên một phần tử trong những điều kiện nhất định. [Tìm hiểu thêm về các thuộc tính ARIA có điều kiện](https://dequeuniversity.com/rules/axe/4.
|
|
39
|
+
"message": "Một số thuộc tính ARIA chỉ có thể được sử dụng trên một phần tử trong những điều kiện nhất định. [Tìm hiểu thêm về các thuộc tính ARIA có điều kiện](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": "Các thuộc tính ARIA không được dùng theo chỉ định cho vai trò của phần tử"
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"message": "Các thuộc tính ARIA được dùng theo chỉ định cho vai trò của phần tử"
|
|
46
46
|
},
|
|
47
47
|
"core/audits/accessibility/aria-deprecated-role.js | description": {
|
|
48
|
-
"message": "Công nghệ hỗ trợ có thể sẽ không xử lý đúng cách đối với các vai trò của ARIA mà Chrome không còn hỗ trợ. [Tìm hiểu thêm về các vai trò của ARIA mà Chrome không còn hỗ trợ](https://dequeuniversity.com/rules/axe/4.
|
|
48
|
+
"message": "Công nghệ hỗ trợ có thể sẽ không xử lý đúng cách đối với các vai trò của ARIA mà Chrome không còn hỗ trợ. [Tìm hiểu thêm về các vai trò của ARIA mà Chrome không còn hỗ trợ](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": "Các vai trò của ARIA mà Chrome không còn hỗ trợ đã được sử dụng"
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"message": "Các vai trò của ARIA mà Chrome không còn hỗ trợ không được sử dụng"
|
|
55
55
|
},
|
|
56
56
|
"core/audits/accessibility/aria-dialog-name.js | description": {
|
|
57
|
-
"message": "Các phần tử hộp thoại của ARIA không có tên thành phần hỗ trợ tiếp cận có thể khiến người dùng trình đọc màn hình không phân biệt được mục đích của các phần tử này. [Tìm hiểu cách giúp các phần tử hộp thoại của ARIA dễ tiếp cận hơn](https://dequeuniversity.com/rules/axe/4.
|
|
57
|
+
"message": "Các phần tử hộp thoại của ARIA không có tên thành phần hỗ trợ tiếp cận có thể khiến người dùng trình đọc màn hình không phân biệt được mục đích của các phần tử này. [Tìm hiểu cách giúp các phần tử hộp thoại của ARIA dễ tiếp cận hơn](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": "Các phần tử có `role=\"dialog\"` hoặc `role=\"alertdialog\"` không có tên thành phần hỗ trợ tiếp cận."
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"message": "Các phần tử có `role=\"dialog\"` hoặc `role=\"alertdialog\"` có tên thành phần hỗ trợ tiếp cận."
|
|
64
64
|
},
|
|
65
65
|
"core/audits/accessibility/aria-hidden-body.js | description": {
|
|
66
|
-
"message": "Các công nghệ hỗ trợ, chẳng hạn như trình đọc màn hình, sẽ hoạt động không nhất quán khi đặt `aria-hidden=\"true\"` trên tài liệu `<body>`. [Tìm hiểu ảnh hưởng của `aria-hidden` đối với phần nội dung của tài liệu](https://dequeuniversity.com/rules/axe/4.
|
|
66
|
+
"message": "Các công nghệ hỗ trợ, chẳng hạn như trình đọc màn hình, sẽ hoạt động không nhất quán khi đặt `aria-hidden=\"true\"` trên tài liệu `<body>`. [Tìm hiểu ảnh hưởng của `aria-hidden` đối với phần nội dung của tài liệu](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": "Hiện có `[aria-hidden=\"true\"]` trên tài liệu `<body>`"
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"message": "Hiện không có `[aria-hidden=\"true\"]` trên tài liệu `<body>`"
|
|
73
73
|
},
|
|
74
74
|
"core/audits/accessibility/aria-hidden-focus.js | description": {
|
|
75
|
-
"message": "Các phần tử theo thứ tự giảm dần có thể lấy tiêu điểm bên trong một phần tử `[aria-hidden=\"true\"]` sẽ giúp ngăn người dùng công nghệ hỗ trợ, chẳng hạn như trình đọc màn hình, tiếp cận với các phần tử tương tác đó. [Tìm hiểu ảnh hưởng của `aria-hidden` đối với các phần tử có thể lấy tiêu điểm](https://dequeuniversity.com/rules/axe/4.
|
|
75
|
+
"message": "Các phần tử theo thứ tự giảm dần có thể lấy tiêu điểm bên trong một phần tử `[aria-hidden=\"true\"]` sẽ giúp ngăn người dùng công nghệ hỗ trợ, chẳng hạn như trình đọc màn hình, tiếp cận với các phần tử tương tác đó. [Tìm hiểu ảnh hưởng của `aria-hidden` đối với các phần tử có thể lấy tiêu điểm](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": "Các phần tử `[aria-hidden=\"true\"]` có chứa các phần tử theo thứ tự giảm dần có thể lấy tiêu điểm"
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"message": "Các phần tử `[aria-hidden=\"true\"]` không chứa các phần tử theo thứ tự giảm dần có thể lấy tiêu điểm"
|
|
82
82
|
},
|
|
83
83
|
"core/audits/accessibility/aria-input-field-name.js | description": {
|
|
84
|
-
"message": "Khi một trường nhập dữ liệu không có tên thành phần hỗ trợ tiếp cận, thì trình đọc màn hình sẽ gọi trường đó bằng tên gọi chung, khiến người dùng trình đọc màn hình không dùng được trường này. [Tìm hiểu thêm về nhãn của trường nhập dữ liệu](https://dequeuniversity.com/rules/axe/4.
|
|
84
|
+
"message": "Khi một trường nhập dữ liệu không có tên thành phần hỗ trợ tiếp cận, thì trình đọc màn hình sẽ gọi trường đó bằng tên gọi chung, khiến người dùng trình đọc màn hình không dùng được trường này. [Tìm hiểu thêm về nhãn của trường nhập dữ liệu](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": "Tên các trường nhập của ARIA ở trạng thái không thể tiếp cận"
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
"message": "Tên các trường nhập của ARIA ở trạng thái có thể tiếp cận"
|
|
91
91
|
},
|
|
92
92
|
"core/audits/accessibility/aria-meter-name.js | description": {
|
|
93
|
-
"message": "Khi một phần tử thước đo không có tên thành phần hỗ trợ tiếp cận, trình đọc màn hình sẽ gọi phần tử đó bằng một tên gọi chung, dẫn đến việc người dùng trình đọc màn hình không sử dụng được phần tử này. [Tìm hiểu cách đặt tên các phần tử `meter`](https://dequeuniversity.com/rules/axe/4.
|
|
93
|
+
"message": "Khi một phần tử thước đo không có tên thành phần hỗ trợ tiếp cận, trình đọc màn hình sẽ gọi phần tử đó bằng một tên gọi chung, dẫn đến việc người dùng trình đọc màn hình không sử dụng được phần tử này. [Tìm hiểu cách đặt tên các phần tử `meter`](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": "Các phần tử `meter` của ARIA không có tên dễ đọc."
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
"message": "Các phần tử `meter` của ARIA có tên dễ đọc"
|
|
100
100
|
},
|
|
101
101
|
"core/audits/accessibility/aria-progressbar-name.js | description": {
|
|
102
|
-
"message": "Khi một phần tử `progressbar` không có tên thành phần hỗ trợ tiếp cận, trình đọc màn hình sẽ gọi phần tử đó bằng một tên gọi chung, dẫn đến việc người dùng trình đọc màn hình không sử dụng được phần tử này. [Tìm hiểu cách gắn nhãn phần tử `progressbar`](https://dequeuniversity.com/rules/axe/4.
|
|
102
|
+
"message": "Khi một phần tử `progressbar` không có tên thành phần hỗ trợ tiếp cận, trình đọc màn hình sẽ gọi phần tử đó bằng một tên gọi chung, dẫn đến việc người dùng trình đọc màn hình không sử dụng được phần tử này. [Tìm hiểu cách gắn nhãn phần tử `progressbar`](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": "Các phần tử `progressbar` của ARIA không có tên dễ đọc."
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
"message": "Các phần tử `progressbar` của ARIA có tên dễ đọc"
|
|
109
109
|
},
|
|
110
110
|
"core/audits/accessibility/aria-prohibited-attr.js | description": {
|
|
111
|
-
"message": "Việc sử dụng các thuộc tính ARIA ở vai trò bị cấm có thể khiến thông tin quan trọng không được truyền đạt tới những người dùng công nghệ hỗ trợ. [Tìm hiểu thêm về các vai trò bị cấm của ARIA](https://dequeuniversity.com/rules/axe/4.
|
|
111
|
+
"message": "Việc sử dụng các thuộc tính ARIA ở vai trò bị cấm có thể khiến thông tin quan trọng không được truyền đạt tới những người dùng công nghệ hỗ trợ. [Tìm hiểu thêm về các vai trò bị cấm của ARIA](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": "Các phần tử sử dụng thuộc tính ARIA bị cấm"
|
|
@@ -117,7 +117,7 @@
|
|
|
117
117
|
"message": "Các phần tử chỉ sử dụng thuộc tính ARIA được phép"
|
|
118
118
|
},
|
|
119
119
|
"core/audits/accessibility/aria-required-attr.js | description": {
|
|
120
|
-
"message": "Một số vai trò ARIA có các thuộc tính bắt buộc mô tả trạng thái của phần tử cho trình đọc màn hình. [Tìm hiểu thêm về các vai trò và thuộc tính bắt buộc](https://dequeuniversity.com/rules/axe/4.
|
|
120
|
+
"message": "Một số vai trò ARIA có các thuộc tính bắt buộc mô tả trạng thái của phần tử cho trình đọc màn hình. [Tìm hiểu thêm về các vai trò và thuộc tính bắt buộc](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]` không có tất cả các thuộc tính `[aria-*]` bắt buộc"
|
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
"message": "`[role]` có tất cả các thuộc tính `[aria-*]` bắt buộc"
|
|
127
127
|
},
|
|
128
128
|
"core/audits/accessibility/aria-required-children.js | description": {
|
|
129
|
-
"message": "Một số vai trò mẹ của Ứng dụng Internet phong phú dễ dùng (ARIA) phải chứa vai trò con cụ thể để thực hiện các chức năng hỗ trợ tiếp cận chủ định tương ứng. [Tìm hiểu thêm về các vai trò và phần tử con bắt buộc](https://dequeuniversity.com/rules/axe/4.
|
|
129
|
+
"message": "Một số vai trò mẹ của Ứng dụng Internet phong phú dễ dùng (ARIA) phải chứa vai trò con cụ thể để thực hiện các chức năng hỗ trợ tiếp cận chủ định tương ứng. [Tìm hiểu thêm về các vai trò và phần tử con bắt buộc](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": "Các phần tử có `[role]` ARIA yêu cầu phần tử con phải chứa một `[role]` cụ thể hiện đang thiếu một số hoặc tất cả các phần tử con bắt buộc đó."
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
"message": "Các phần tử có `[role]` ARIA yêu cầu phần tử con phải chứa một `[role]` cụ thể có tất cả các phần tử con bắt buộc."
|
|
136
136
|
},
|
|
137
137
|
"core/audits/accessibility/aria-required-parent.js | description": {
|
|
138
|
-
"message": "Các vai trò mẹ cụ thể phải chứa một số vai trò con của Ứng dụng Internet phong phú dễ dùng (ARIA) để thực hiện đúng cách các chức năng hỗ trợ tiếp cận chủ định tương ứng. [Tìm hiểu thêm về các vai trò của Ứng dụng Internet phong phú dễ dùng (ARIA) và phần tử mẹ bắt buộc](https://dequeuniversity.com/rules/axe/4.
|
|
138
|
+
"message": "Các vai trò mẹ cụ thể phải chứa một số vai trò con của Ứng dụng Internet phong phú dễ dùng (ARIA) để thực hiện đúng cách các chức năng hỗ trợ tiếp cận chủ định tương ứng. [Tìm hiểu thêm về các vai trò của Ứng dụng Internet phong phú dễ dùng (ARIA) và phần tử mẹ bắt buộc](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]` không có trong phần tử mẹ bắt buộc tương ứng"
|
|
@@ -144,7 +144,7 @@
|
|
|
144
144
|
"message": "`[role]` có trong phần tử mẹ bắt buộc tương ứng"
|
|
145
145
|
},
|
|
146
146
|
"core/audits/accessibility/aria-roles.js | description": {
|
|
147
|
-
"message": "Các vai trò của Ứng dụng Internet phong phú dễ dùng (ARIA) phải có giá trị hợp lệ để thực hiện những chức năng hỗ trợ tiếp cận chủ định tương ứng. [Tìm hiểu thêm về các vai trò của Ứng dụng Internet phong phú dễ dùng (ARIA)](https://dequeuniversity.com/rules/axe/4.
|
|
147
|
+
"message": "Các vai trò của Ứng dụng Internet phong phú dễ dùng (ARIA) phải có giá trị hợp lệ để thực hiện những chức năng hỗ trợ tiếp cận chủ định tương ứng. [Tìm hiểu thêm về các vai trò của Ứng dụng Internet phong phú dễ dùng (ARIA)](https://dequeuniversity.com/rules/axe/4.12/aria-roles)."
|
|
148
148
|
},
|
|
149
149
|
"core/audits/accessibility/aria-roles.js | failureTitle": {
|
|
150
150
|
"message": "Các giá trị của `[role]` là không hợp lệ"
|
|
@@ -153,7 +153,7 @@
|
|
|
153
153
|
"message": "Các giá trị của `[role]` là hợp lệ"
|
|
154
154
|
},
|
|
155
155
|
"core/audits/accessibility/aria-text.js | description": {
|
|
156
|
-
"message": "Nếu bạn thêm `role=text` quanh một nút văn bản được phân tách bằng thẻ đánh dấu, VoiceOver có thể coi nút đó là một cụm từ, nhưng con cháu có thể làm tâm điểm của phần tử này sẽ không được công bố. [Tìm hiểu thêm về thuộc tính `role=text`](https://dequeuniversity.com/rules/axe/4.
|
|
156
|
+
"message": "Nếu bạn thêm `role=text` quanh một nút văn bản được phân tách bằng thẻ đánh dấu, VoiceOver có thể coi nút đó là một cụm từ, nhưng con cháu có thể làm tâm điểm của phần tử này sẽ không được công bố. [Tìm hiểu thêm về thuộc tính `role=text`](https://dequeuniversity.com/rules/axe/4.12/aria-text)."
|
|
157
157
|
},
|
|
158
158
|
"core/audits/accessibility/aria-text.js | failureTitle": {
|
|
159
159
|
"message": "Các phần tử có thuộc tính `role=text` có con cháu có thể làm tâm điểm."
|
|
@@ -162,7 +162,7 @@
|
|
|
162
162
|
"message": "Các phần tử có thuộc tính `role=text` không có con cháu có thể làm tâm điểm."
|
|
163
163
|
},
|
|
164
164
|
"core/audits/accessibility/aria-toggle-field-name.js | description": {
|
|
165
|
-
"message": "Khi một trường chuyển đổi không có tên thành phần hỗ trợ tiếp cận, thì trình đọc màn hình sẽ gọi trường đó bằng tên gọi chung, khiến người dùng trình đọc màn hình không dùng được trường này. [Tìm hiểu thêm về trường chuyển đổi](https://dequeuniversity.com/rules/axe/4.
|
|
165
|
+
"message": "Khi một trường chuyển đổi không có tên thành phần hỗ trợ tiếp cận, thì trình đọc màn hình sẽ gọi trường đó bằng tên gọi chung, khiến người dùng trình đọc màn hình không dùng được trường này. [Tìm hiểu thêm về trường chuyển đổi](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": "Tên các trường chuyển đổi của ARIA ở trạng thái không thể tiếp cận"
|
|
@@ -171,7 +171,7 @@
|
|
|
171
171
|
"message": "Tên các trường chuyển đổi của ARIA ở trạng thái có thể tiếp cận"
|
|
172
172
|
},
|
|
173
173
|
"core/audits/accessibility/aria-tooltip-name.js | description": {
|
|
174
|
-
"message": "Khi một phần tử chú giải công cụ không có tên thành phần hỗ trợ tiếp cận, trình đọc màn hình sẽ gọi phần tử đó bằng một tên gọi chung, dẫn đến việc người dùng trình đọc màn hình không sử dụng được phần tử này. [Tìm hiểu cách đặt tên các phần tử `tooltip`](https://dequeuniversity.com/rules/axe/4.
|
|
174
|
+
"message": "Khi một phần tử chú giải công cụ không có tên thành phần hỗ trợ tiếp cận, trình đọc màn hình sẽ gọi phần tử đó bằng một tên gọi chung, dẫn đến việc người dùng trình đọc màn hình không sử dụng được phần tử này. [Tìm hiểu cách đặt tên các phần tử `tooltip`](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": "Các phần tử `tooltip` của ARIA không có tên dễ đọc."
|
|
@@ -180,7 +180,7 @@
|
|
|
180
180
|
"message": "Các phần tử `tooltip` của ARIA có tên dễ đọc"
|
|
181
181
|
},
|
|
182
182
|
"core/audits/accessibility/aria-treeitem-name.js | description": {
|
|
183
|
-
"message": "Khi một phần tử `treeitem` không có tên thành phần hỗ trợ tiếp cận, trình đọc màn hình sẽ gọi phần tử đó bằng một tên gọi chung, dẫn đến việc người dùng trình đọc màn hình không sử dụng được phần tử này. [Tìm hiểu thêm về cách gắn nhãn phần tử `treeitem`](https://dequeuniversity.com/rules/axe/4.
|
|
183
|
+
"message": "Khi một phần tử `treeitem` không có tên thành phần hỗ trợ tiếp cận, trình đọc màn hình sẽ gọi phần tử đó bằng một tên gọi chung, dẫn đến việc người dùng trình đọc màn hình không sử dụng được phần tử này. [Tìm hiểu thêm về cách gắn nhãn phần tử `treeitem`](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": "Các phần tử `treeitem` của ARIA không có tên dễ đọc."
|
|
@@ -189,7 +189,7 @@
|
|
|
189
189
|
"message": "Các phần tử `treeitem` của ARIA có tên dễ đọc"
|
|
190
190
|
},
|
|
191
191
|
"core/audits/accessibility/aria-valid-attr-value.js | description": {
|
|
192
|
-
"message": "Các công nghệ hỗ trợ, chẳng hạn như trình đọc màn hình, không thể diễn giải thuộc tính của Ứng dụng Internet phong phú dễ dùng (ARIA) có giá trị không hợp lệ. [Tìm hiểu thêm về giá trị hợp lệ cho thuộc tính của Ứng dụng Internet phong phú dễ dùng (ARIA)](https://dequeuniversity.com/rules/axe/4.
|
|
192
|
+
"message": "Các công nghệ hỗ trợ, chẳng hạn như trình đọc màn hình, không thể diễn giải thuộc tính của Ứng dụng Internet phong phú dễ dùng (ARIA) có giá trị không hợp lệ. [Tìm hiểu thêm về giá trị hợp lệ cho thuộc tính của Ứng dụng Internet phong phú dễ dùng (ARIA)](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": "Giá trị của các thuộc tính `[aria-*]` là không hợp lệ"
|
|
@@ -198,7 +198,7 @@
|
|
|
198
198
|
"message": "Các thuộc tính `[aria-*]` có giá trị hợp lệ"
|
|
199
199
|
},
|
|
200
200
|
"core/audits/accessibility/aria-valid-attr.js | description": {
|
|
201
|
-
"message": "Các công nghệ hỗ trợ, chẳng hạn như trình đọc màn hình, không thể diễn giải các thuộc tính của Ứng dụng Internet phong phú dễ dùng (ARIA) có tên không hợp lệ. [Tìm hiểu thêm về các thuộc tính hợp lệ của Ứng dụng Internet phong phú dễ dùng (ARIA)](https://dequeuniversity.com/rules/axe/4.
|
|
201
|
+
"message": "Các công nghệ hỗ trợ, chẳng hạn như trình đọc màn hình, không thể diễn giải các thuộc tính của Ứng dụng Internet phong phú dễ dùng (ARIA) có tên không hợp lệ. [Tìm hiểu thêm về các thuộc tính hợp lệ của Ứng dụng Internet phong phú dễ dùng (ARIA)](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": "Các thuộc tính `[aria-*]` là không hợp lệ hoặc bị sai chính tả"
|
|
@@ -206,11 +206,20 @@
|
|
|
206
206
|
"core/audits/accessibility/aria-valid-attr.js | title": {
|
|
207
207
|
"message": "Các thuộc tính `[aria-*]` là hợp lệ và không bị sai chính tả"
|
|
208
208
|
},
|
|
209
|
+
"core/audits/accessibility/autocomplete-valid.js | description": {
|
|
210
|
+
"message": "Các giá trị thuộc tính `autocomplete` phải hợp lệ và được áp dụng đúng cách để trình đọc màn hình hoạt động chính xác. [Tìm hiểu thêm về các giá trị tự động hoàn thành hợp lệ](https://dequeuniversity.com/rules/axe/4.12/autocomplete-valid)."
|
|
211
|
+
},
|
|
212
|
+
"core/audits/accessibility/autocomplete-valid.js | failureTitle": {
|
|
213
|
+
"message": "Các thuộc tính `autocomplete` không được sử dụng đúng cách"
|
|
214
|
+
},
|
|
215
|
+
"core/audits/accessibility/autocomplete-valid.js | title": {
|
|
216
|
+
"message": "Các thuộc tính `autocomplete` được sử dụng đúng cách"
|
|
217
|
+
},
|
|
209
218
|
"core/audits/accessibility/axe-audit.js | failingElementsHeader": {
|
|
210
219
|
"message": "Các phần tử không đạt"
|
|
211
220
|
},
|
|
212
221
|
"core/audits/accessibility/button-name.js | description": {
|
|
213
|
-
"message": "Khi một nút không có tên thành phần hỗ trợ tiếp cận, trình đọc màn hình sẽ thông báo đó là \"nút\", khiến người dùng trình đọc màn hình không sử dụng được nút này. [Tìm hiểu cách giúp các nút dễ tiếp cận hơn](https://dequeuniversity.com/rules/axe/4.
|
|
222
|
+
"message": "Khi một nút không có tên thành phần hỗ trợ tiếp cận, trình đọc màn hình sẽ thông báo đó là \"nút\", khiến người dùng trình đọc màn hình không sử dụng được nút này. [Tìm hiểu cách giúp các nút dễ tiếp cận hơn](https://dequeuniversity.com/rules/axe/4.12/button-name)."
|
|
214
223
|
},
|
|
215
224
|
"core/audits/accessibility/button-name.js | failureTitle": {
|
|
216
225
|
"message": "Các nút không có tên có thể tiếp cận được"
|
|
@@ -219,7 +228,7 @@
|
|
|
219
228
|
"message": "Các nút có tên tiếp cận được"
|
|
220
229
|
},
|
|
221
230
|
"core/audits/accessibility/bypass.js | description": {
|
|
222
|
-
"message": "Bằng việc thêm các cách bỏ qua nội dung lặp lại, người dùng bàn phím có thể khám phá trang một cách hiệu quả hơn. [Tìm hiểu thêm về cách tránh bị chặn](https://dequeuniversity.com/rules/axe/4.
|
|
231
|
+
"message": "Bằng việc thêm các cách bỏ qua nội dung lặp lại, người dùng bàn phím có thể khám phá trang một cách hiệu quả hơn. [Tìm hiểu thêm về cách tránh bị chặn](https://dequeuniversity.com/rules/axe/4.12/bypass)."
|
|
223
232
|
},
|
|
224
233
|
"core/audits/accessibility/bypass.js | failureTitle": {
|
|
225
234
|
"message": "Trang này không chứa tiêu đề, đường liên kết bỏ qua hoặc vùng mốc"
|
|
@@ -228,7 +237,7 @@
|
|
|
228
237
|
"message": "Trang này chứa tiêu đề, phần tử liên kết bỏ qua hoặc vùng mốc"
|
|
229
238
|
},
|
|
230
239
|
"core/audits/accessibility/color-contrast.js | description": {
|
|
231
|
-
"message": "Nhiều người dùng gặp khó khăn khi đọc hoặc không thể đọc được văn bản có độ tương phản thấp. [Tìm hiểu cách cung cấp độ tương phản màu vừa đủ](https://dequeuniversity.com/rules/axe/4.
|
|
240
|
+
"message": "Nhiều người dùng gặp khó khăn khi đọc hoặc không thể đọc được văn bản có độ tương phản thấp. [Tìm hiểu cách cung cấp độ tương phản màu vừa đủ](https://dequeuniversity.com/rules/axe/4.12/color-contrast)."
|
|
232
241
|
},
|
|
233
242
|
"core/audits/accessibility/color-contrast.js | failureTitle": {
|
|
234
243
|
"message": "Màu nền trước và nền sau không có đủ tỷ lệ tương phản."
|
|
@@ -237,7 +246,7 @@
|
|
|
237
246
|
"message": "Màu nền trước và nền sau có đủ tỷ lệ tương phản"
|
|
238
247
|
},
|
|
239
248
|
"core/audits/accessibility/definition-list.js | description": {
|
|
240
|
-
"message": "Khi danh sách định nghĩa không được đánh dấu đúng cách, thì trình đọc màn hình có thể tạo ra thông báo gây nhầm lẫn hoặc không chính xác. [Tìm hiểu cách định cấu trúc danh sách định nghĩa đúng cách](https://dequeuniversity.com/rules/axe/4.
|
|
249
|
+
"message": "Khi danh sách định nghĩa không được đánh dấu đúng cách, thì trình đọc màn hình có thể tạo ra thông báo gây nhầm lẫn hoặc không chính xác. [Tìm hiểu cách định cấu trúc danh sách định nghĩa đúng cách](https://dequeuniversity.com/rules/axe/4.12/definition-list)."
|
|
241
250
|
},
|
|
242
251
|
"core/audits/accessibility/definition-list.js | failureTitle": {
|
|
243
252
|
"message": "`<dl>` không chỉ chứa các nhóm `<dt>` và `<dd>` được sắp xếp đúng cách, các phần tử `<script>`, `<template>` hoặc `<div>`."
|
|
@@ -246,7 +255,7 @@
|
|
|
246
255
|
"message": "`<dl>` chỉ chứa các nhóm `<dt>` và `<dd>` được sắp xếp đúng cách, các phần tử `<script>`, `<template>` hoặc `<div>`."
|
|
247
256
|
},
|
|
248
257
|
"core/audits/accessibility/dlitem.js | description": {
|
|
249
|
-
"message": "Các mục trong danh sách định nghĩa (`<dt>` và `<dd>`) phải được đưa vào một phần tử `<dl>` mẹ để đảm bảo rằng trình đọc màn hình có thể thông báo đúng cách các mục này. [Tìm hiểu cách định cấu trúc danh sách định nghĩa đúng cách](https://dequeuniversity.com/rules/axe/4.
|
|
258
|
+
"message": "Các mục trong danh sách định nghĩa (`<dt>` và `<dd>`) phải được đưa vào một phần tử `<dl>` mẹ để đảm bảo rằng trình đọc màn hình có thể thông báo đúng cách các mục này. [Tìm hiểu cách định cấu trúc danh sách định nghĩa đúng cách](https://dequeuniversity.com/rules/axe/4.12/dlitem)."
|
|
250
259
|
},
|
|
251
260
|
"core/audits/accessibility/dlitem.js | failureTitle": {
|
|
252
261
|
"message": "Các phần tử `<dl>` không bao gồm những mục trong danh sách định nghĩa"
|
|
@@ -255,7 +264,7 @@
|
|
|
255
264
|
"message": "Các phần tử `<dl>` chứa mục trong danh sách định nghĩa"
|
|
256
265
|
},
|
|
257
266
|
"core/audits/accessibility/document-title.js | description": {
|
|
258
|
-
"message": "Tiêu đề giúp người dùng trình đọc màn hình nắm được thông tin tổng quan về trang và giúp người dùng công cụ tìm kiếm chủ yếu dựa vào tiêu đề này xác định xem một trang có liên quan đến nội dung tìm kiếm của họ hay không. [Tìm hiểu thêm về tiêu đề tài liệu](https://dequeuniversity.com/rules/axe/4.
|
|
267
|
+
"message": "Tiêu đề giúp người dùng trình đọc màn hình nắm được thông tin tổng quan về trang và giúp người dùng công cụ tìm kiếm chủ yếu dựa vào tiêu đề này xác định xem một trang có liên quan đến nội dung tìm kiếm của họ hay không. [Tìm hiểu thêm về tiêu đề tài liệu](https://dequeuniversity.com/rules/axe/4.12/document-title)."
|
|
259
268
|
},
|
|
260
269
|
"core/audits/accessibility/document-title.js | failureTitle": {
|
|
261
270
|
"message": "Tài liệu không có phần tử `<title>`"
|
|
@@ -264,7 +273,7 @@
|
|
|
264
273
|
"message": "Tài liệu có phần tử `<title>`"
|
|
265
274
|
},
|
|
266
275
|
"core/audits/accessibility/duplicate-id-aria.js | description": {
|
|
267
|
-
"message": "Để các công nghệ hỗ trợ không bỏ qua các phiên bản khác, giá trị mã nhận dạng của Ứng dụng Internet phong phú dễ dùng (ARIA) không được trùng nhau. [Tìm hiểu cách khắc phục mã nhận dạng trùng lặp của Ứng dụng Internet phong phú dễ dùng (ARIA)](https://dequeuniversity.com/rules/axe/4.
|
|
276
|
+
"message": "Để các công nghệ hỗ trợ không bỏ qua các phiên bản khác, giá trị mã nhận dạng của Ứng dụng Internet phong phú dễ dùng (ARIA) không được trùng nhau. [Tìm hiểu cách khắc phục mã nhận dạng trùng lặp của Ứng dụng Internet phong phú dễ dùng (ARIA)](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": "Mã nhận dạng của ARIA bị trùng lặp"
|
|
@@ -273,7 +282,7 @@
|
|
|
273
282
|
"message": "Mã nhận dạng của Ứng dụng Internet phong phú dễ dùng (ARIA) là duy nhất"
|
|
274
283
|
},
|
|
275
284
|
"core/audits/accessibility/empty-heading.js | description": {
|
|
276
|
-
"message": "Tiêu đề không có nội dung hoặc có văn bản khó đọc sẽ khiến người dùng trình đọc màn hình không thể truy cập thông tin trên cấu trúc của trang. [Tìm hiểu thêm về tiêu đề](https://dequeuniversity.com/rules/axe/4.
|
|
285
|
+
"message": "Tiêu đề không có nội dung hoặc có văn bản khó đọc sẽ khiến người dùng trình đọc màn hình không thể truy cập thông tin trên cấu trúc của trang. [Tìm hiểu thêm về tiêu đề](https://dequeuniversity.com/rules/axe/4.12/empty-heading)."
|
|
277
286
|
},
|
|
278
287
|
"core/audits/accessibility/empty-heading.js | failureTitle": {
|
|
279
288
|
"message": "Phần tử tiêu đề không chứa nội dung."
|
|
@@ -282,7 +291,7 @@
|
|
|
282
291
|
"message": "Tất cả phần tử tiêu đề đều chứa nội dung."
|
|
283
292
|
},
|
|
284
293
|
"core/audits/accessibility/form-field-multiple-labels.js | description": {
|
|
285
|
-
"message": "Các công nghệ hỗ trợ, chẳng hạn như trình đọc màn hình, sử dụng nhãn đầu tiên, nhãn cuối cùng hoặc tất cả các nhãn có thể thông báo nhầm các trường biểu mẫu có nhiều nhãn. [Tìm hiểu cách sử dụng nhãn của biểu mẫu](https://dequeuniversity.com/rules/axe/4.
|
|
294
|
+
"message": "Các công nghệ hỗ trợ, chẳng hạn như trình đọc màn hình, sử dụng nhãn đầu tiên, nhãn cuối cùng hoặc tất cả các nhãn có thể thông báo nhầm các trường biểu mẫu có nhiều nhãn. [Tìm hiểu cách sử dụng nhãn của biểu mẫu](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": "Các trường biểu mẫu có nhiều nhãn"
|
|
@@ -291,7 +300,7 @@
|
|
|
291
300
|
"message": "Không có trường biểu mẫu nào có nhiều nhãn"
|
|
292
301
|
},
|
|
293
302
|
"core/audits/accessibility/frame-title.js | description": {
|
|
294
|
-
"message": "Người dùng trình đọc màn hình dựa vào tiêu đề khung để mô tả nội dung của khung. [Tìm hiểu thêm về tiêu đề khung](https://dequeuniversity.com/rules/axe/4.
|
|
303
|
+
"message": "Người dùng trình đọc màn hình dựa vào tiêu đề khung để mô tả nội dung của khung. [Tìm hiểu thêm về tiêu đề khung](https://dequeuniversity.com/rules/axe/4.12/frame-title)."
|
|
295
304
|
},
|
|
296
305
|
"core/audits/accessibility/frame-title.js | failureTitle": {
|
|
297
306
|
"message": "Phần tử `<frame>` hoặc `<iframe>` không có tiêu đề"
|
|
@@ -300,7 +309,7 @@
|
|
|
300
309
|
"message": "Các phần tử `<frame>` hoặc `<iframe>` có tiêu đề"
|
|
301
310
|
},
|
|
302
311
|
"core/audits/accessibility/heading-order.js | description": {
|
|
303
|
-
"message": "Nhờ cách thức sắp xếp tiêu đề sao cho không bỏ qua các cấp độ thể hiện cấu trúc ngữ nghĩa của trang, người dùng dễ dàng hiểu được nội dung và thực hiện thao tác bằng công nghệ hỗ trợ hơn. [Tìm hiểu thêm về trình tự tiêu đề](https://dequeuniversity.com/rules/axe/4.
|
|
312
|
+
"message": "Nhờ cách thức sắp xếp tiêu đề sao cho không bỏ qua các cấp độ thể hiện cấu trúc ngữ nghĩa của trang, người dùng dễ dàng hiểu được nội dung và thực hiện thao tác bằng công nghệ hỗ trợ hơn. [Tìm hiểu thêm về trình tự tiêu đề](https://dequeuniversity.com/rules/axe/4.12/heading-order)."
|
|
304
313
|
},
|
|
305
314
|
"core/audits/accessibility/heading-order.js | failureTitle": {
|
|
306
315
|
"message": "Các phần tử tiêu đề không tuân theo trình tự giảm dần"
|
|
@@ -309,7 +318,7 @@
|
|
|
309
318
|
"message": "Các phần tử tiêu đề xuất hiện theo trình tự giảm dần"
|
|
310
319
|
},
|
|
311
320
|
"core/audits/accessibility/html-has-lang.js | description": {
|
|
312
|
-
"message": "Nếu một trang chưa chỉ định thuộc tính `lang`, thì trình đọc màn hình sẽ xem như trang đó đang hiển thị bằng ngôn ngữ mặc định mà người dùng chọn khi thiết lập trình đọc màn hình. Nếu trên thực tế, trang đó không hiển thị bằng ngôn ngữ mặc định, thì trình đọc màn hình có thể không thông báo văn bản của trang đó một cách chính xác. [Tìm hiểu thêm về thuộc tính `lang`](https://dequeuniversity.com/rules/axe/4.
|
|
321
|
+
"message": "Nếu một trang chưa chỉ định thuộc tính `lang`, thì trình đọc màn hình sẽ xem như trang đó đang hiển thị bằng ngôn ngữ mặc định mà người dùng chọn khi thiết lập trình đọc màn hình. Nếu trên thực tế, trang đó không hiển thị bằng ngôn ngữ mặc định, thì trình đọc màn hình có thể không thông báo văn bản của trang đó một cách chính xác. [Tìm hiểu thêm về thuộc tính `lang`](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": "Phần tử `<html>` chưa có thuộc tính `[lang]`"
|
|
@@ -318,7 +327,7 @@
|
|
|
318
327
|
"message": "Phần tử `<html>` có thuộc tính `[lang]`"
|
|
319
328
|
},
|
|
320
329
|
"core/audits/accessibility/html-lang-valid.js | description": {
|
|
321
|
-
"message": "Việc chỉ định [ngôn ngữ BCP 47](https://www.w3.org/International/questions/qa-choosing-language-tags#question) hợp lệ sẽ giúp trình đọc màn hình thông báo văn bản đúng cách. [Tìm hiểu cách sử dụng thuộc tính `lang`](https://dequeuniversity.com/rules/axe/4.
|
|
330
|
+
"message": "Việc chỉ định [ngôn ngữ BCP 47](https://www.w3.org/International/questions/qa-choosing-language-tags#question) hợp lệ sẽ giúp trình đọc màn hình thông báo văn bản đúng cách. [Tìm hiểu cách sử dụng thuộc tính `lang`](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": "Thuộc tính `[lang]` của phần tử `<html>` không có giá trị hợp lệ."
|
|
@@ -327,7 +336,7 @@
|
|
|
327
336
|
"message": "Thuộc tính `[lang]` của phần tử `<html>` có giá trị hợp lệ"
|
|
328
337
|
},
|
|
329
338
|
"core/audits/accessibility/html-xml-lang-mismatch.js | description": {
|
|
330
|
-
"message": "Nếu trang web không chỉ định một ngôn ngữ nhất quán thì trình đọc màn hình có thể không thông báo chính xác văn bản trong trang. [Tìm hiểu thêm về thuộc tính `lang`](https://dequeuniversity.com/rules/axe/4.
|
|
339
|
+
"message": "Nếu trang web không chỉ định một ngôn ngữ nhất quán thì trình đọc màn hình có thể không thông báo chính xác văn bản trong trang. [Tìm hiểu thêm về thuộc tính `lang`](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": "Phần tử `<html>` không sở hữu thuộc tính `[xml:lang]` có cùng ngôn ngữ cơ sở như thuộc tính `[lang]`."
|
|
@@ -336,7 +345,7 @@
|
|
|
336
345
|
"message": "Phần tử `<html>` sở hữu thuộc tính `[xml:lang]` có cùng ngôn ngữ cơ sở như thuộc tính `[lang]`."
|
|
337
346
|
},
|
|
338
347
|
"core/audits/accessibility/identical-links-same-purpose.js | description": {
|
|
339
|
-
"message": "Các đường liên kết có cùng một đích đến phải có cùng nội dung mô tả để giúp người dùng hiểu mục đích của đường liên kết và quyết định có nên truy cập hay không. [Tìm hiểu thêm về các đường liên kết giống hệt nhau](https://dequeuniversity.com/rules/axe/4.
|
|
348
|
+
"message": "Các đường liên kết có cùng một đích đến phải có cùng nội dung mô tả để giúp người dùng hiểu mục đích của đường liên kết và quyết định có nên truy cập hay không. [Tìm hiểu thêm về các đường liên kết giống hệt nhau](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": "Các đường liên kết giống hệt nhau không có cùng mục đích."
|
|
@@ -345,7 +354,7 @@
|
|
|
345
354
|
"message": "Các đường liên kết giống hệt nhau có cùng mục đích."
|
|
346
355
|
},
|
|
347
356
|
"core/audits/accessibility/image-alt.js | description": {
|
|
348
|
-
"message": "Các phần tử thông tin nên là đoạn văn bản thay thế ngắn, có tính mô tả. Có thể bỏ qua phần tử trang trí bằng một thuộc tính alt trống. [Tìm hiểu thêm về thuộc tính `alt`](https://dequeuniversity.com/rules/axe/4.
|
|
357
|
+
"message": "Các phần tử thông tin nên là đoạn văn bản thay thế ngắn, có tính mô tả. Có thể bỏ qua phần tử trang trí bằng một thuộc tính alt trống. [Tìm hiểu thêm về thuộc tính `alt`](https://dequeuniversity.com/rules/axe/4.12/image-alt)."
|
|
349
358
|
},
|
|
350
359
|
"core/audits/accessibility/image-alt.js | failureTitle": {
|
|
351
360
|
"message": "Phần tử hình ảnh không có thuộc tính `[alt]`"
|
|
@@ -354,7 +363,7 @@
|
|
|
354
363
|
"message": "Các phần tử hình ảnh có thuộc tính `[alt]`"
|
|
355
364
|
},
|
|
356
365
|
"core/audits/accessibility/image-redundant-alt.js | description": {
|
|
357
|
-
"message": "Các phần tử thông tin nên là đoạn văn bản thay thế ngắn, có tính mô tả. Văn bản thay thế giống hệt với văn bản bên cạnh đường liên kết hoặc hình ảnh có thể khiến người dùng trình đọc màn hình bối rối vì văn bản sẽ được đọc hai lần. [Tìm hiểu thêm về thuộc tính `alt`](https://dequeuniversity.com/rules/axe/4.
|
|
366
|
+
"message": "Các phần tử thông tin nên là đoạn văn bản thay thế ngắn, có tính mô tả. Văn bản thay thế giống hệt với văn bản bên cạnh đường liên kết hoặc hình ảnh có thể khiến người dùng trình đọc màn hình bối rối vì văn bản sẽ được đọc hai lần. [Tìm hiểu thêm về thuộc tính `alt`](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": "Các phần tử hình ảnh có thuộc tính `[alt]` là văn bản thừa."
|
|
@@ -363,7 +372,7 @@
|
|
|
363
372
|
"message": "Các phần tử hình ảnh không có thuộc tính `[alt]` là văn bản thừa."
|
|
364
373
|
},
|
|
365
374
|
"core/audits/accessibility/input-button-name.js | description": {
|
|
366
|
-
"message": "Bạn nên thêm văn bản rõ ràng và dễ đọc vào các nút nhập để giúp người dùng trình đọc màn hình hiểu mục đích của nút nhập. [Tìm hiểu thêm về các nút nhập](https://dequeuniversity.com/rules/axe/4.
|
|
375
|
+
"message": "Bạn nên thêm văn bản rõ ràng và dễ đọc vào các nút nhập để giúp người dùng trình đọc màn hình hiểu mục đích của nút nhập. [Tìm hiểu thêm về các nút nhập](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": "Các nút nhập không có văn bản rõ ràng."
|
|
@@ -372,7 +381,7 @@
|
|
|
372
381
|
"message": "Các nút nhập có văn bản rõ ràng."
|
|
373
382
|
},
|
|
374
383
|
"core/audits/accessibility/input-image-alt.js | description": {
|
|
375
|
-
"message": "Khi dùng một hình ảnh làm nút `<input>`, thì việc cung cấp văn bản thay thế có thể giúp người dùng trình đọc màn hình hiểu rõ mục đích của nút đó. [Tìm hiểu về văn bản thay thế hình ảnh đầu vào](https://dequeuniversity.com/rules/axe/4.
|
|
384
|
+
"message": "Khi dùng một hình ảnh làm nút `<input>`, thì việc cung cấp văn bản thay thế có thể giúp người dùng trình đọc màn hình hiểu rõ mục đích của nút đó. [Tìm hiểu về văn bản thay thế hình ảnh đầu vào](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": "Các thành phần `<input type=\"image\">` không có văn bản `[alt]`"
|
|
@@ -381,7 +390,7 @@
|
|
|
381
390
|
"message": "Các thành phần `<input type=\"image\">` có văn bản `[alt]`"
|
|
382
391
|
},
|
|
383
392
|
"core/audits/accessibility/label-content-name-mismatch.js | description": {
|
|
384
|
-
"message": "Nhãn văn bản hiển thị không khớp với tên thành phần hỗ trợ tiếp cận có thể gây ra trải nghiệm khó hiểu đối với người dùng trình đọc màn hình. [Tìm hiểu thêm về tên thành phần hỗ trợ tiếp cận](https://dequeuniversity.com/rules/axe/4.
|
|
393
|
+
"message": "Nhãn văn bản hiển thị không khớp với tên thành phần hỗ trợ tiếp cận có thể gây ra trải nghiệm khó hiểu đối với người dùng trình đọc màn hình. [Tìm hiểu thêm về tên thành phần hỗ trợ tiếp cận](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": "Các phần tử gắn nhãn văn bản hiển thị không có tên thành phần hỗ trợ tiếp cận trùng khớp."
|
|
@@ -390,7 +399,7 @@
|
|
|
390
399
|
"message": "Phần tử gắn nhãn văn bản hiển thị có tên thành phần hỗ trợ tiếp cận trùng khớp."
|
|
391
400
|
},
|
|
392
401
|
"core/audits/accessibility/label.js | description": {
|
|
393
|
-
"message": "Các nhãn đảm bảo rằng những công nghệ hỗ trợ, chẳng hạn như trình đọc màn hình, thông báo các biện pháp kiểm soát biểu mẫu đúng cách. [Tìm hiểu thêm về nhãn phần tử biểu mẫu](https://dequeuniversity.com/rules/axe/4.
|
|
402
|
+
"message": "Các nhãn đảm bảo rằng những công nghệ hỗ trợ, chẳng hạn như trình đọc màn hình, thông báo các biện pháp kiểm soát biểu mẫu đúng cách. [Tìm hiểu thêm về nhãn phần tử biểu mẫu](https://dequeuniversity.com/rules/axe/4.12/label)."
|
|
394
403
|
},
|
|
395
404
|
"core/audits/accessibility/label.js | failureTitle": {
|
|
396
405
|
"message": "Các phần tử biểu mẫu không có nhãn liên kết"
|
|
@@ -399,7 +408,7 @@
|
|
|
399
408
|
"message": "Các phần tử biểu mẫu có nhãn liên quan"
|
|
400
409
|
},
|
|
401
410
|
"core/audits/accessibility/landmark-one-main.js | description": {
|
|
402
|
-
"message": "Điểm mốc chính giúp người dùng trình đọc màn hình dễ dàng thao tác trên trang web. [Tìm hiểu thêm về điểm mốc](https://dequeuniversity.com/rules/axe/4.
|
|
411
|
+
"message": "Điểm mốc chính giúp người dùng trình đọc màn hình dễ dàng thao tác trên trang web. [Tìm hiểu thêm về điểm mốc](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": "Tài liệu không có điểm mốc chính."
|
|
@@ -408,7 +417,7 @@
|
|
|
408
417
|
"message": "Tài liệu có một điểm mốc chính."
|
|
409
418
|
},
|
|
410
419
|
"core/audits/accessibility/link-in-text-block.js | description": {
|
|
411
|
-
"message": "Nhiều người dùng gặp khó khăn khi đọc hoặc không thể đọc được văn bản có độ tương phản thấp. Văn bản liên kết rõ ràng sẽ giúp người dùng có thị lực kém dễ đọc hơn. [Tìm hiểu cách giúp các đường liên kết dễ phân biệt](https://dequeuniversity.com/rules/axe/4.
|
|
420
|
+
"message": "Nhiều người dùng gặp khó khăn khi đọc hoặc không thể đọc được văn bản có độ tương phản thấp. Văn bản liên kết rõ ràng sẽ giúp người dùng có thị lực kém dễ đọc hơn. [Tìm hiểu cách giúp các đường liên kết dễ phân biệt](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": "Bạn cần dựa vào màu sắc để phân biệt các đường liên kết."
|
|
@@ -417,7 +426,7 @@
|
|
|
417
426
|
"message": "Bạn có thể phân biệt được các đường liên kết mà không cần dựa vào màu sắc."
|
|
418
427
|
},
|
|
419
428
|
"core/audits/accessibility/link-name.js | description": {
|
|
420
|
-
"message": "Văn bản liên kết (và văn bản thay thế cho hình ảnh, khi dùng làm phần tử liên kết) có thể thấy rõ, là duy nhất và có thể lấy tiêu điểm sẽ cải thiện trải nghiệm khám phá cho người dùng trình đọc màn hình. [Tìm hiểu cách giúp các phần tử liên kết trở nên dễ tiếp cận](https://dequeuniversity.com/rules/axe/4.
|
|
429
|
+
"message": "Văn bản liên kết (và văn bản thay thế cho hình ảnh, khi dùng làm phần tử liên kết) có thể thấy rõ, là duy nhất và có thể lấy tiêu điểm sẽ cải thiện trải nghiệm khám phá cho người dùng trình đọc màn hình. [Tìm hiểu cách giúp các phần tử liên kết trở nên dễ tiếp cận](https://dequeuniversity.com/rules/axe/4.12/link-name)."
|
|
421
430
|
},
|
|
422
431
|
"core/audits/accessibility/link-name.js | failureTitle": {
|
|
423
432
|
"message": "Các phần tử liên kết không có tên có thể nhận rõ"
|
|
@@ -426,7 +435,7 @@
|
|
|
426
435
|
"message": "Các phần tử liên kết có tên có thể nhận rõ"
|
|
427
436
|
},
|
|
428
437
|
"core/audits/accessibility/list.js | description": {
|
|
429
|
-
"message": "Các trình đọc màn hình có các cách riêng để thông báo danh sách. Khi danh sách có cấu trúc phù hợp, trình đọc màn hình sẽ thông báo về danh sách chính xác hơn. [Tìm hiểu thêm về cấu trúc phù hợp của danh sách](https://dequeuniversity.com/rules/axe/4.
|
|
438
|
+
"message": "Các trình đọc màn hình có các cách riêng để thông báo danh sách. Khi danh sách có cấu trúc phù hợp, trình đọc màn hình sẽ thông báo về danh sách chính xác hơn. [Tìm hiểu thêm về cấu trúc phù hợp của danh sách](https://dequeuniversity.com/rules/axe/4.12/list)."
|
|
430
439
|
},
|
|
431
440
|
"core/audits/accessibility/list.js | failureTitle": {
|
|
432
441
|
"message": "Danh sách không chỉ chứa các phần tử `<li>` và phần tử hỗ trợ tập lệnh (`<script>` và `<template>`)."
|
|
@@ -435,7 +444,7 @@
|
|
|
435
444
|
"message": "Danh sách chỉ chứa các phần tử `<li>` và phần tử hỗ trợ tập lệnh (`<script>` và `<template>`)."
|
|
436
445
|
},
|
|
437
446
|
"core/audits/accessibility/listitem.js | description": {
|
|
438
|
-
"message": "Trình đọc màn hình yêu cầu các mục danh sách (`<li>`) phải có trong một `<ul>` `<ol>` hoặc `<menu>` mẹ để được thông báo đúng cách. [Tìm hiểu thêm về cấu trúc phù hợp của danh sách](https://dequeuniversity.com/rules/axe/4.
|
|
447
|
+
"message": "Trình đọc màn hình yêu cầu các mục danh sách (`<li>`) phải có trong một `<ul>` `<ol>` hoặc `<menu>` mẹ để được thông báo đúng cách. [Tìm hiểu thêm về cấu trúc phù hợp của danh sách](https://dequeuniversity.com/rules/axe/4.12/listitem)."
|
|
439
448
|
},
|
|
440
449
|
"core/audits/accessibility/listitem.js | failureTitle": {
|
|
441
450
|
"message": "Các mục trong danh sách (`<li>`) không có trong phần tử `<ul>` `<ol>` hoặc `<menu>` mẹ."
|
|
@@ -444,7 +453,7 @@
|
|
|
444
453
|
"message": "Các mục trong danh sách (`<li>`) có trong phần tử mẹ `<ul>`, `<ol>` hoặc `<menu>`"
|
|
445
454
|
},
|
|
446
455
|
"core/audits/accessibility/meta-refresh.js | description": {
|
|
447
|
-
"message": "Người dùng không muốn một trang tự động làm mới và việc trang tự động làm mới sẽ chuyển tiêu điểm quay về đầu trang. Người dùng có thể cảm thấy khó chịu hoặc bị nhầm lẫn nếu gặp trường hợp này. [Tìm hiểu thêm về thẻ làm mới meta](https://dequeuniversity.com/rules/axe/4.
|
|
456
|
+
"message": "Người dùng không muốn một trang tự động làm mới và việc trang tự động làm mới sẽ chuyển tiêu điểm quay về đầu trang. Người dùng có thể cảm thấy khó chịu hoặc bị nhầm lẫn nếu gặp trường hợp này. [Tìm hiểu thêm về thẻ làm mới meta](https://dequeuniversity.com/rules/axe/4.12/meta-refresh)."
|
|
448
457
|
},
|
|
449
458
|
"core/audits/accessibility/meta-refresh.js | failureTitle": {
|
|
450
459
|
"message": "Tài liệu này sử dụng `<meta http-equiv=\"refresh\">`"
|
|
@@ -453,7 +462,7 @@
|
|
|
453
462
|
"message": "Tài liệu này không dùng `<meta http-equiv=\"refresh\">`"
|
|
454
463
|
},
|
|
455
464
|
"core/audits/accessibility/meta-viewport.js | description": {
|
|
456
|
-
"message": "Việc tắt tính năng thu phóng sẽ gây trở ngại cho những người dùng có thị lực kém bị lệ thuộc vào chức năng phóng to màn hình để thấy rõ nội dung trang web. [Tìm hiểu thêm về thẻ meta cửa sổ xem](https://dequeuniversity.com/rules/axe/4.
|
|
465
|
+
"message": "Việc tắt tính năng thu phóng sẽ gây trở ngại cho những người dùng có thị lực kém bị lệ thuộc vào chức năng phóng to màn hình để thấy rõ nội dung trang web. [Tìm hiểu thêm về thẻ meta cửa sổ xem](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\"]` được dùng trong phần tử `<meta name=\"viewport\">` hoặc thuộc tính `[maximum-scale]` nhỏ hơn 5."
|
|
@@ -462,7 +471,7 @@
|
|
|
462
471
|
"message": "`[user-scalable=\"no\"]` không được sử dụng trong phần tử `<meta name=\"viewport\">` và thuộc tính `[maximum-scale]` không nhỏ hơn 5."
|
|
463
472
|
},
|
|
464
473
|
"core/audits/accessibility/object-alt.js | description": {
|
|
465
|
-
"message": "Trình đọc màn hình không dịch được nội dung không ở dạng văn bản. Bằng việc thêm văn bản thay thế vào các phần tử `<object>`, bạn có thể giúp trình đọc màn hình truyền đạt ý nghĩa cho người dùng. [Tìm hiểu thêm về văn bản thay thế cho `object` phần tử](https://dequeuniversity.com/rules/axe/4.
|
|
474
|
+
"message": "Trình đọc màn hình không dịch được nội dung không ở dạng văn bản. Bằng việc thêm văn bản thay thế vào các phần tử `<object>`, bạn có thể giúp trình đọc màn hình truyền đạt ý nghĩa cho người dùng. [Tìm hiểu thêm về văn bản thay thế cho `object` phần tử](https://dequeuniversity.com/rules/axe/4.12/object-alt)."
|
|
466
475
|
},
|
|
467
476
|
"core/audits/accessibility/object-alt.js | failureTitle": {
|
|
468
477
|
"message": "Các thành phần `<object>` không có văn bản thay thế"
|
|
@@ -470,8 +479,17 @@
|
|
|
470
479
|
"core/audits/accessibility/object-alt.js | title": {
|
|
471
480
|
"message": "Các thành phần `<object>` có văn bản thay thế"
|
|
472
481
|
},
|
|
482
|
+
"core/audits/accessibility/presentation-role-conflict.js | description": {
|
|
483
|
+
"message": "Có một số trường hợp mà trong đó, vai trò ngữ nghĩa của một thành phần có `role=\"none\"` hoặc `role=\"presentation\"` không được giải quyết thành none hoặc presentation. Để đảm bảo thành phần vẫn bị xoá khỏi cây hỗ trợ tiếp cận, bạn không nên thêm bất kỳ thuộc tính ARIA áp dụng cho mọi thành phần nào vào thành phần đó hoặc làm cho thành phần đó có thể làm tiêu điểm. [Tìm hiểu thêm về xung đột vai trò trình bày](https://dequeuniversity.com/rules/axe/4.12/presentation-role-conflict)."
|
|
484
|
+
},
|
|
485
|
+
"core/audits/accessibility/presentation-role-conflict.js | failureTitle": {
|
|
486
|
+
"message": "Các thành phần có `role=\"none\"` hoặc `role=\"presentation\"` có xung đột"
|
|
487
|
+
},
|
|
488
|
+
"core/audits/accessibility/presentation-role-conflict.js | title": {
|
|
489
|
+
"message": "Các thành phần có `role=\"none\"` hoặc `role=\"presentation\"` không có xung đột"
|
|
490
|
+
},
|
|
473
491
|
"core/audits/accessibility/select-name.js | description": {
|
|
474
|
-
"message": "Các phần tử biểu mẫu không có nhãn hữu ích có thể khiến người dùng trình đọc màn hình cảm thấy khó chịu. [Tìm hiểu thêm về phần tử `select`](https://dequeuniversity.com/rules/axe/4.
|
|
492
|
+
"message": "Các phần tử biểu mẫu không có nhãn hữu ích có thể khiến người dùng trình đọc màn hình cảm thấy khó chịu. [Tìm hiểu thêm về phần tử `select`](https://dequeuniversity.com/rules/axe/4.12/select-name)."
|
|
475
493
|
},
|
|
476
494
|
"core/audits/accessibility/select-name.js | failureTitle": {
|
|
477
495
|
"message": "Các phần tử lựa chọn không có phần tử nhãn đi kèm."
|
|
@@ -480,7 +498,7 @@
|
|
|
480
498
|
"message": "Các phần tử lựa chọn có phần tử nhãn liên kết."
|
|
481
499
|
},
|
|
482
500
|
"core/audits/accessibility/skip-link.js | description": {
|
|
483
|
-
"message": "Nếu có đường liên kết bỏ qua, người dùng có thể chuyển ngay đến nội dung chính để tiết kiệm thời gian. [Tìm hiểu thêm về đường liên kết bỏ qua](https://dequeuniversity.com/rules/axe/4.
|
|
501
|
+
"message": "Nếu có đường liên kết bỏ qua, người dùng có thể chuyển ngay đến nội dung chính để tiết kiệm thời gian. [Tìm hiểu thêm về đường liên kết bỏ qua](https://dequeuniversity.com/rules/axe/4.12/skip-link)."
|
|
484
502
|
},
|
|
485
503
|
"core/audits/accessibility/skip-link.js | failureTitle": {
|
|
486
504
|
"message": "Đường liên kết bỏ qua không thể làm tâm điểm."
|
|
@@ -488,8 +506,17 @@
|
|
|
488
506
|
"core/audits/accessibility/skip-link.js | title": {
|
|
489
507
|
"message": "Đường liên kết bỏ qua có thể làm tâm điểm."
|
|
490
508
|
},
|
|
509
|
+
"core/audits/accessibility/svg-img-alt.js | description": {
|
|
510
|
+
"message": "Đảm bảo rằng các thành phần SVG có vai trò `img`, `graphics-document` hoặc `graphics-symbol` có văn bản hỗ trợ tiếp cận thay thế. [Tìm hiểu thêm về văn bản thay thế cho SVG](https://dequeuniversity.com/rules/axe/4.12/svg-img-alt)."
|
|
511
|
+
},
|
|
512
|
+
"core/audits/accessibility/svg-img-alt.js | failureTitle": {
|
|
513
|
+
"message": "Các thành phần SVG (Đồ hoạ vectơ có thể mở rộng) có vai trò `img` không có văn bản thay thế hỗ trợ tiếp cận"
|
|
514
|
+
},
|
|
515
|
+
"core/audits/accessibility/svg-img-alt.js | title": {
|
|
516
|
+
"message": "Các thành phần SVG (Đồ hoạ vectơ có thể mở rộng) có vai trò `img` có văn bản thay thế hỗ trợ tiếp cận"
|
|
517
|
+
},
|
|
491
518
|
"core/audits/accessibility/tabindex.js | description": {
|
|
492
|
-
"message": "Giá trị lớn hơn 0 ngụ ý thứ tự điều hướng rõ ràng. Mặc dù hợp lệ về mặt kỹ thuật nhưng điều này thường tạo ra trải nghiệm khó chịu cho những người dùng bị lệ thuộc vào công nghệ hỗ trợ. [Tìm hiểu thêm về thuộc tính `tabindex`](https://dequeuniversity.com/rules/axe/4.
|
|
519
|
+
"message": "Giá trị lớn hơn 0 ngụ ý thứ tự điều hướng rõ ràng. Mặc dù hợp lệ về mặt kỹ thuật nhưng điều này thường tạo ra trải nghiệm khó chịu cho những người dùng bị lệ thuộc vào công nghệ hỗ trợ. [Tìm hiểu thêm về thuộc tính `tabindex`](https://dequeuniversity.com/rules/axe/4.12/tabindex)."
|
|
493
520
|
},
|
|
494
521
|
"core/audits/accessibility/tabindex.js | failureTitle": {
|
|
495
522
|
"message": "Một số phần tử có giá trị `[tabindex]` lớn hơn 0"
|
|
@@ -498,7 +525,7 @@
|
|
|
498
525
|
"message": "Không phần tử nào có giá trị `[tabindex]` lớn hơn 0"
|
|
499
526
|
},
|
|
500
527
|
"core/audits/accessibility/table-duplicate-name.js | description": {
|
|
501
|
-
"message": "Thuộc tính tóm tắt phải mô tả cấu trúc bảng, còn `<caption>` phải có tiêu đề trên màn hình. Việc đánh dấu bảng chính xác giúp ích cho người dùng trình đọc màn hình. [Tìm hiểu thêm về tóm tắt và chú thích](https://dequeuniversity.com/rules/axe/4.
|
|
528
|
+
"message": "Thuộc tính tóm tắt phải mô tả cấu trúc bảng, còn `<caption>` phải có tiêu đề trên màn hình. Việc đánh dấu bảng chính xác giúp ích cho người dùng trình đọc màn hình. [Tìm hiểu thêm về tóm tắt và chú thích](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": "Các bảng có nội dung giống nhau trong thuộc tính tóm tắt và `<caption>.`"
|
|
@@ -507,7 +534,7 @@
|
|
|
507
534
|
"message": "Các bảng có nội dung khác nhau trong thuộc tính tóm tắt và `<caption>`."
|
|
508
535
|
},
|
|
509
536
|
"core/audits/accessibility/table-fake-caption.js | description": {
|
|
510
|
-
"message": "Trình đọc màn hình có các tính năng giúp người dùng dễ dàng sử dụng bảng hơn. Các bảng cần sử dụng phần tử chú thích thực tế thay vì các ô có thuộc tính `[colspan]` để người dùng trình đọc màn hình có trải nghiệm tốt hơn. [Tìm hiểu thêm về chú thích](https://dequeuniversity.com/rules/axe/4.
|
|
537
|
+
"message": "Trình đọc màn hình có các tính năng giúp người dùng dễ dàng sử dụng bảng hơn. Các bảng cần sử dụng phần tử chú thích thực tế thay vì các ô có thuộc tính `[colspan]` để người dùng trình đọc màn hình có trải nghiệm tốt hơn. [Tìm hiểu thêm về chú thích](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": "Bảng không sử dụng `<caption>` thay cho các ô có thuộc tính `[colspan]` để biểu thị chú thích."
|
|
@@ -516,7 +543,7 @@
|
|
|
516
543
|
"message": "Bảng sử dụng `<caption>` thay vì các ô có thuộc tính `[colspan]` để biểu thị chú thích."
|
|
517
544
|
},
|
|
518
545
|
"core/audits/accessibility/target-size.js | description": {
|
|
519
|
-
"message": "Đích chạm có kích thước và khoảng giãn cách phù hợp sẽ giúp người dùng kích hoạt mục tiêu nếu họ gặp khó khăn với việc chọn các thành phần điều khiển nhỏ. [Tìm hiểu thêm về đích chạm](https://dequeuniversity.com/rules/axe/4.
|
|
546
|
+
"message": "Đích chạm có kích thước và khoảng giãn cách phù hợp sẽ giúp người dùng kích hoạt mục tiêu nếu họ gặp khó khăn với việc chọn các thành phần điều khiển nhỏ. [Tìm hiểu thêm về đích chạm](https://dequeuniversity.com/rules/axe/4.12/target-size)."
|
|
520
547
|
},
|
|
521
548
|
"core/audits/accessibility/target-size.js | failureTitle": {
|
|
522
549
|
"message": "Đích chạm có kích thước hoặc khoảng giãn cách chưa phù hợp."
|
|
@@ -525,7 +552,7 @@
|
|
|
525
552
|
"message": "Đích chạm có kích thước và khoảng giãn cách phù hợp."
|
|
526
553
|
},
|
|
527
554
|
"core/audits/accessibility/td-has-header.js | description": {
|
|
528
|
-
"message": "Trình đọc màn hình có các tính năng giúp người dùng dễ dàng sử dụng bảng hơn. Các phần tử `<td>` trong bảng lớn (chiều rộng và chiều cao từ 3 ô trở lên) cần có tiêu đề bảng liên kết để người dùng trình đọc màn hình có trải nghiệm tốt hơn. [Tìm hiểu thêm về tiêu đề bảng](https://dequeuniversity.com/rules/axe/4.
|
|
555
|
+
"message": "Trình đọc màn hình có các tính năng giúp người dùng dễ dàng sử dụng bảng hơn. Các phần tử `<td>` trong bảng lớn (chiều rộng và chiều cao từ 3 ô trở lên) cần có tiêu đề bảng liên kết để người dùng trình đọc màn hình có trải nghiệm tốt hơn. [Tìm hiểu thêm về tiêu đề bảng](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": "Các phần tử `<td>` trong `<table>` lớn không có tiêu đề bảng."
|
|
@@ -534,7 +561,7 @@
|
|
|
534
561
|
"message": "Các phần tử `<td>` trong `<table>` lớn có một hoặc nhiều tiêu đề bảng."
|
|
535
562
|
},
|
|
536
563
|
"core/audits/accessibility/td-headers-attr.js | description": {
|
|
537
|
-
"message": "Trình đọc màn hình có các tính năng giúp người dùng dễ dàng sử dụng bảng hơn. Việc đảm bảo các ô `<td>` sử dụng thuộc tính `[headers]` chỉ tham chiếu các ô khác trong cùng bảng có thể cải thiện trải nghiệm của người dùng trình đọc màn hình. [Tìm hiểu thêm về thuộc tính `headers`](https://dequeuniversity.com/rules/axe/4.
|
|
564
|
+
"message": "Trình đọc màn hình có các tính năng giúp người dùng dễ dàng sử dụng bảng hơn. Việc đảm bảo các ô `<td>` sử dụng thuộc tính `[headers]` chỉ tham chiếu các ô khác trong cùng bảng có thể cải thiện trải nghiệm của người dùng trình đọc màn hình. [Tìm hiểu thêm về thuộc tính `headers`](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": "Các ô trong phần tử `<table>` sử dụng thuộc tính `[headers]` tham chiếu đến một phần tử `id` không tìm thấy trong cùng một bảng."
|
|
@@ -543,7 +570,7 @@
|
|
|
543
570
|
"message": "Các ô trong phần tử `<table>` sử dụng thuộc tính `[headers]` tham chiếu đến các ô trong cùng một bảng."
|
|
544
571
|
},
|
|
545
572
|
"core/audits/accessibility/th-has-data-cells.js | description": {
|
|
546
|
-
"message": "Trình đọc màn hình có các tính năng giúp người dùng dễ dàng sử dụng bảng hơn. Việc đảm bảo tiêu đề bảng luôn tham chiếu đến một nhóm ô nào đó có thể cải thiện trải nghiệm của người dùng trình đọc màn hình. [Tìm hiểu thêm về tiêu đề bảng](https://dequeuniversity.com/rules/axe/4.
|
|
573
|
+
"message": "Trình đọc màn hình có các tính năng giúp người dùng dễ dàng sử dụng bảng hơn. Việc đảm bảo tiêu đề bảng luôn tham chiếu đến một nhóm ô nào đó có thể cải thiện trải nghiệm của người dùng trình đọc màn hình. [Tìm hiểu thêm về tiêu đề bảng](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": "Các phần tử `<th>` và phần tử có `[role=\"columnheader\"/\"rowheader\"]` không chứa các ô dữ liệu mà các phần tử đó mô tả."
|
|
@@ -552,7 +579,7 @@
|
|
|
552
579
|
"message": "Các phần tử `<th>` và phần tử có `[role=\"columnheader\"/\"rowheader\"]` chứa các ô dữ liệu mà các phần tử này mô tả."
|
|
553
580
|
},
|
|
554
581
|
"core/audits/accessibility/valid-lang.js | description": {
|
|
555
|
-
"message": "Việc chỉ định một [ngôn ngữ BCP 47](https://www.w3.org/International/questions/qa-choosing-language-tags#question) hợp lệ cho các phần tử sẽ giúp trình đọc màn hình phát âm văn bản chính xác. [Tìm hiểu cách sử dụng thuộc tính `lang`](https://dequeuniversity.com/rules/axe/4.
|
|
582
|
+
"message": "Việc chỉ định một [ngôn ngữ BCP 47](https://www.w3.org/International/questions/qa-choosing-language-tags#question) hợp lệ cho các phần tử sẽ giúp trình đọc màn hình phát âm văn bản chính xác. [Tìm hiểu cách sử dụng thuộc tính `lang`](https://dequeuniversity.com/rules/axe/4.12/valid-lang)."
|
|
556
583
|
},
|
|
557
584
|
"core/audits/accessibility/valid-lang.js | failureTitle": {
|
|
558
585
|
"message": "Các thuộc tính `[lang]` không có giá trị hợp lệ"
|
|
@@ -561,7 +588,7 @@
|
|
|
561
588
|
"message": "Các thuộc tính `[lang]` có giá trị hợp lệ"
|
|
562
589
|
},
|
|
563
590
|
"core/audits/accessibility/video-caption.js | description": {
|
|
564
|
-
"message": "Khi video có chú thích, người dùng khiếm thính và người dùng bị suy giảm thính lực có thể tiếp cận thông tin trên video đó dễ dàng hơn. [Tìm hiểu thêm về chú thích của video](https://dequeuniversity.com/rules/axe/4.
|
|
591
|
+
"message": "Khi video có chú thích, người dùng khiếm thính và người dùng bị suy giảm thính lực có thể tiếp cận thông tin trên video đó dễ dàng hơn. [Tìm hiểu thêm về chú thích của video](https://dequeuniversity.com/rules/axe/4.12/video-caption)."
|
|
565
592
|
},
|
|
566
593
|
"core/audits/accessibility/video-caption.js | failureTitle": {
|
|
567
594
|
"message": "Các phần tử `<video>` không chứa phần tử `<track>` có `[kind=\"captions\"]`."
|
|
@@ -569,6 +596,51 @@
|
|
|
569
596
|
"core/audits/accessibility/video-caption.js | title": {
|
|
570
597
|
"message": "Các phần tử `<video>` chứa phần tử `<track>` có `[kind=\"captions\"]`"
|
|
571
598
|
},
|
|
599
|
+
"core/audits/agentic/agent-accessibility-tree.js | columnElement": {
|
|
600
|
+
"message": "Phần tử không đạt"
|
|
601
|
+
},
|
|
602
|
+
"core/audits/agentic/agent-accessibility-tree.js | columnRule": {
|
|
603
|
+
"message": "Quy tắc không đạt"
|
|
604
|
+
},
|
|
605
|
+
"core/audits/agentic/agent-accessibility-tree.js | description": {
|
|
606
|
+
"message": "[Cây khả năng tiếp cận](http://goo.gle/lighthouse-agentic-a11y) được định dạng đúng sẽ giúp các tác nhân AI di chuyển và tương tác với trang."
|
|
607
|
+
},
|
|
608
|
+
"core/audits/agentic/agent-accessibility-tree.js | displayValuePassed": {
|
|
609
|
+
"message": "Đã vượt qua tất cả các cuộc kiểm tra"
|
|
610
|
+
},
|
|
611
|
+
"core/audits/agentic/agent-accessibility-tree.js | failedSectionTitle": {
|
|
612
|
+
"message": "Các lần kiểm tra không đạt"
|
|
613
|
+
},
|
|
614
|
+
"core/audits/agentic/agent-accessibility-tree.js | failureTitle": {
|
|
615
|
+
"message": "Cây khả năng tiếp cận không được định dạng đúng"
|
|
616
|
+
},
|
|
617
|
+
"core/audits/agentic/agent-accessibility-tree.js | title": {
|
|
618
|
+
"message": "Cây khả năng tiếp cận được định dạng đúng"
|
|
619
|
+
},
|
|
620
|
+
"core/audits/agentic/llms-txt.js | description": {
|
|
621
|
+
"message": "Nếu tệp llms.txt không tuân theo đề xuất, các mô hình ngôn ngữ lớn có thể không hiểu được cách bạn muốn trang web của mình được thu thập dữ liệu hoặc sử dụng để huấn luyện. Tệp [llms.txt](https://llmstxt.org/) phải là tệp Markdown chứa ít nhất một tiêu đề H1."
|
|
622
|
+
},
|
|
623
|
+
"core/audits/agentic/llms-txt.js | displayValueHttpBadCode": {
|
|
624
|
+
"message": "Không thành công với trạng thái HTTP {statusCode}"
|
|
625
|
+
},
|
|
626
|
+
"core/audits/agentic/llms-txt.js | explanation": {
|
|
627
|
+
"message": "Không tìm nạp được tệp llms.txt"
|
|
628
|
+
},
|
|
629
|
+
"core/audits/agentic/llms-txt.js | failureTitle": {
|
|
630
|
+
"message": "Tệp llms.txt không tuân theo đề xuất"
|
|
631
|
+
},
|
|
632
|
+
"core/audits/agentic/llms-txt.js | missingH1": {
|
|
633
|
+
"message": "Tệp thiếu tiêu đề H1 bắt buộc (ví dụ: \"# Tiêu đề\")."
|
|
634
|
+
},
|
|
635
|
+
"core/audits/agentic/llms-txt.js | missingLinks": {
|
|
636
|
+
"message": "Có vẻ tệp không chứa đường liên kết nào."
|
|
637
|
+
},
|
|
638
|
+
"core/audits/agentic/llms-txt.js | title": {
|
|
639
|
+
"message": "Tệp llms.txt tuân theo đề xuất"
|
|
640
|
+
},
|
|
641
|
+
"core/audits/agentic/llms-txt.js | tooShort": {
|
|
642
|
+
"message": "Tệp này ngắn bất thường."
|
|
643
|
+
},
|
|
572
644
|
"core/audits/autocomplete.js | columnCurrent": {
|
|
573
645
|
"message": "Giá trị hiện tại"
|
|
574
646
|
},
|
|
@@ -596,6 +668,18 @@
|
|
|
596
668
|
"core/audits/autocomplete.js | warningOrder": {
|
|
597
669
|
"message": "Xem xét thứ tự của các mã thông báo: \"{tokens}\" trong {snippet}"
|
|
598
670
|
},
|
|
671
|
+
"core/audits/baseline.js | columnFeature": {
|
|
672
|
+
"message": "Các tính năng web"
|
|
673
|
+
},
|
|
674
|
+
"core/audits/baseline.js | columnStatus": {
|
|
675
|
+
"message": "Trạng thái Cơ bản"
|
|
676
|
+
},
|
|
677
|
+
"core/audits/baseline.js | description": {
|
|
678
|
+
"message": "Liệt kê các tính năng web được sử dụng trên trang và trạng thái Baseline tương ứng tính đến {date}. [Tìm hiểu thêm về Baseline](https://webstatus.dev/)."
|
|
679
|
+
},
|
|
680
|
+
"core/audits/baseline.js | title": {
|
|
681
|
+
"message": "Các tính năng Cơ bản"
|
|
682
|
+
},
|
|
599
683
|
"core/audits/bf-cache.js | actionableFailureType": {
|
|
600
684
|
"message": "Có thể thực hiện"
|
|
601
685
|
},
|
|
@@ -771,7 +855,7 @@
|
|
|
771
855
|
"message": "Trang có loại tài liệu HTML"
|
|
772
856
|
},
|
|
773
857
|
"core/audits/dobetterweb/geolocation-on-start.js | description": {
|
|
774
|
-
"message": "
|
|
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": "Yêu cầu quyền truy cập vị trí địa lý khi tải trang"
|
|
@@ -1262,6 +1346,93 @@
|
|
|
1262
1346
|
"core/audits/valid-source-maps.js | title": {
|
|
1263
1347
|
"message": "Trang có bản đồ nguồn hợp lệ"
|
|
1264
1348
|
},
|
|
1349
|
+
"core/audits/webmcp-form-coverage.js | columnForm": {
|
|
1350
|
+
"message": "Biểu mẫu"
|
|
1351
|
+
},
|
|
1352
|
+
"core/audits/webmcp-form-coverage.js | description": {
|
|
1353
|
+
"message": "Hãy cân nhắc việc thêm chú thích [WebMCP](http://goo.gle/webmcp-docs) vào các biểu mẫu được liệt kê bên dưới. Điều này giúp các tác nhân AI xác định và tương tác với những biểu mẫu này theo cách đáng tin cậy hơn."
|
|
1354
|
+
},
|
|
1355
|
+
"core/audits/webmcp-form-coverage.js | displayValue": {
|
|
1356
|
+
"message": "{itemCount,plural, =1{1 biểu mẫu thiếu chú thích}other{# biểu mẫu thiếu chú thích}}"
|
|
1357
|
+
},
|
|
1358
|
+
"core/audits/webmcp-form-coverage.js | title": {
|
|
1359
|
+
"message": "Phạm vi của biểu mẫu WebMCP"
|
|
1360
|
+
},
|
|
1361
|
+
"core/audits/webmcp-registered-tools.js | columnDeclarativeElement": {
|
|
1362
|
+
"message": "Phần tử"
|
|
1363
|
+
},
|
|
1364
|
+
"core/audits/webmcp-registered-tools.js | columnDescription": {
|
|
1365
|
+
"message": "Mô tả"
|
|
1366
|
+
},
|
|
1367
|
+
"core/audits/webmcp-registered-tools.js | columnImperativeLocation": {
|
|
1368
|
+
"message": "Vị trí nguồn"
|
|
1369
|
+
},
|
|
1370
|
+
"core/audits/webmcp-registered-tools.js | columnInputSchema": {
|
|
1371
|
+
"message": "Giản đồ đầu vào"
|
|
1372
|
+
},
|
|
1373
|
+
"core/audits/webmcp-registered-tools.js | columnTool": {
|
|
1374
|
+
"message": "Tên công cụ"
|
|
1375
|
+
},
|
|
1376
|
+
"core/audits/webmcp-registered-tools.js | description": {
|
|
1377
|
+
"message": "Liệt kê [các công cụ WebMCP](http://goo.gle/webmcp-docs) được đăng ký tại thời điểm phân tích."
|
|
1378
|
+
},
|
|
1379
|
+
"core/audits/webmcp-registered-tools.js | title": {
|
|
1380
|
+
"message": "Đã đăng ký các công cụ WebMCP"
|
|
1381
|
+
},
|
|
1382
|
+
"core/audits/webmcp-registered-tools.js | titleDeclarativeTools": {
|
|
1383
|
+
"message": "Công cụ khai báo"
|
|
1384
|
+
},
|
|
1385
|
+
"core/audits/webmcp-registered-tools.js | titleImperativeTools": {
|
|
1386
|
+
"message": "Công cụ mệnh lệnh"
|
|
1387
|
+
},
|
|
1388
|
+
"core/audits/webmcp-schema-validity.js | columnElement": {
|
|
1389
|
+
"message": "Phần tử"
|
|
1390
|
+
},
|
|
1391
|
+
"core/audits/webmcp-schema-validity.js | columnIssue": {
|
|
1392
|
+
"message": "Vấn đề"
|
|
1393
|
+
},
|
|
1394
|
+
"core/audits/webmcp-schema-validity.js | description": {
|
|
1395
|
+
"message": "Bắt buộc phải có [giản đồ WebMCP](http://goo.gle/webmcp-docs) hợp lệ để các tác nhân AI hiểu và tương tác với các công cụ đúng cách. Vui lòng khắc phục mọi lỗi hoặc cảnh báo do trình duyệt báo cáo."
|
|
1396
|
+
},
|
|
1397
|
+
"core/audits/webmcp-schema-validity.js | failureTitle": {
|
|
1398
|
+
"message": "Các giản đồ WebMCP là không hợp lệ"
|
|
1399
|
+
},
|
|
1400
|
+
"core/audits/webmcp-schema-validity.js | missingOptionalParamName": {
|
|
1401
|
+
"message": "Thiếu thuộc tính `name` cho một trường không bắt buộc. Hãy thêm thuộc tính đó để xác định tên tham số."
|
|
1402
|
+
},
|
|
1403
|
+
"core/audits/webmcp-schema-validity.js | missingParamDescription": {
|
|
1404
|
+
"message": "Hãy thêm nội dung mô tả để các tác nhân AI có thể hiểu và sử dụng biểu mẫu này dễ dàng hơn."
|
|
1405
|
+
},
|
|
1406
|
+
"core/audits/webmcp-schema-validity.js | missingRequiredParamName": {
|
|
1407
|
+
"message": "Thiếu thuộc tính `name` cho một trường bắt buộc. Hãy thêm thuộc tính đó để xác định tên tham số."
|
|
1408
|
+
},
|
|
1409
|
+
"core/audits/webmcp-schema-validity.js | missingToolDescription": {
|
|
1410
|
+
"message": "Thiếu thuộc tính `tooldescription` ở cấp biểu mẫu. Hãy thêm thuộc tính đó để mô tả công cụ dành cho các tác nhân AI."
|
|
1411
|
+
},
|
|
1412
|
+
"core/audits/webmcp-schema-validity.js | missingToolName": {
|
|
1413
|
+
"message": "Thiếu thuộc tính `toolname` ở cấp biểu mẫu. Hãy thêm thuộc tính đó để xác định tên công cụ."
|
|
1414
|
+
},
|
|
1415
|
+
"core/audits/webmcp-schema-validity.js | title": {
|
|
1416
|
+
"message": "Các giản đồ WebMCP là hợp lệ"
|
|
1417
|
+
},
|
|
1418
|
+
"core/config/agentic-browsing-config.js | agentAccessibilityGroupDescription": {
|
|
1419
|
+
"message": "Các hoạt động kiểm tra này nêu bật các phương pháp hay nhất để cải thiện khả năng hỗ trợ tiếp cận của trang web đối với các tác nhân AI."
|
|
1420
|
+
},
|
|
1421
|
+
"core/config/agentic-browsing-config.js | agentAccessibilityGroupTitle": {
|
|
1422
|
+
"message": "Khả năng tiếp cận của tác nhân"
|
|
1423
|
+
},
|
|
1424
|
+
"core/config/agentic-browsing-config.js | agenticBrowsingCategoryDescription": {
|
|
1425
|
+
"message": "Các hoạt động kiểm tra này đảm bảo rằng [các trang web có chất lượng cao và có thể xem được đối với các tác nhân AI](https://goo.gle/lighthouse-agentic-web), đồng thời xác thực tính chính xác của các tích hợp WebMCP. Danh mục này vẫn đang trong giai đoạn phát triển và có thể thay đổi."
|
|
1426
|
+
},
|
|
1427
|
+
"core/config/agentic-browsing-config.js | agenticBrowsingCategoryTitle": {
|
|
1428
|
+
"message": "Duyệt web bằng tác nhân"
|
|
1429
|
+
},
|
|
1430
|
+
"core/config/agentic-browsing-config.js | webmcpGroupDescription": {
|
|
1431
|
+
"message": "Các cuộc kiểm tra xác thực quá trình tích hợp WebMCP."
|
|
1432
|
+
},
|
|
1433
|
+
"core/config/agentic-browsing-config.js | webmcpGroupTitle": {
|
|
1434
|
+
"message": "WebMCP"
|
|
1435
|
+
},
|
|
1265
1436
|
"core/config/default-config.js | a11yAriaGroupDescription": {
|
|
1266
1437
|
"message": "Đây là những cơ hội giúp cải thiện việc sử dụng ARIA trong ứng dụng của bạn, nhờ đó có thể nâng cao trải nghiệm cho người dùng công nghệ hỗ trợ, chẳng hạn như trình đọc màn hình."
|
|
1267
1438
|
},
|
|
@@ -1319,6 +1490,18 @@
|
|
|
1319
1490
|
"core/config/default-config.js | a11yTablesListsVideoGroupTitle": {
|
|
1320
1491
|
"message": "Bảng và danh sách"
|
|
1321
1492
|
},
|
|
1493
|
+
"core/config/default-config.js | agentAccessibilityGroupDescription": {
|
|
1494
|
+
"message": "Các hoạt động kiểm tra này nêu bật các phương pháp hay nhất để cải thiện khả năng hỗ trợ tiếp cận của trang web đối với các tác nhân AI."
|
|
1495
|
+
},
|
|
1496
|
+
"core/config/default-config.js | agentAccessibilityGroupTitle": {
|
|
1497
|
+
"message": "Khả năng tiếp cận của tác nhân"
|
|
1498
|
+
},
|
|
1499
|
+
"core/config/default-config.js | agenticBrowsingCategoryDescription": {
|
|
1500
|
+
"message": "Các hoạt động kiểm tra này đảm bảo rằng [các trang web có chất lượng cao và có thể xem được đối với các tác nhân AI](https://goo.gle/lighthouse-agentic-web), đồng thời xác thực tính chính xác của các tích hợp WebMCP. Danh mục này vẫn đang trong giai đoạn phát triển và có thể thay đổi."
|
|
1501
|
+
},
|
|
1502
|
+
"core/config/default-config.js | agenticBrowsingCategoryTitle": {
|
|
1503
|
+
"message": "Duyệt web bằng tác nhân"
|
|
1504
|
+
},
|
|
1322
1505
|
"core/config/default-config.js | bestPracticesBrowserCompatGroupTitle": {
|
|
1323
1506
|
"message": "Khả năng tương thích của trình duyệt"
|
|
1324
1507
|
},
|
|
@@ -1391,6 +1574,12 @@
|
|
|
1391
1574
|
"core/config/default-config.js | seoMobileGroupTitle": {
|
|
1392
1575
|
"message": "Thân thiện với thiết bị di động"
|
|
1393
1576
|
},
|
|
1577
|
+
"core/config/default-config.js | webmcpGroupDescription": {
|
|
1578
|
+
"message": "Các cuộc kiểm tra xác thực quá trình tích hợp WebMCP."
|
|
1579
|
+
},
|
|
1580
|
+
"core/config/default-config.js | webmcpGroupTitle": {
|
|
1581
|
+
"message": "WebMCP"
|
|
1582
|
+
},
|
|
1394
1583
|
"core/gather/driver/environment.js | warningSlowHostCpu": {
|
|
1395
1584
|
"message": "Có vẻ như thiết bị được thử nghiệm có CPU chậm hơn mức Lighthouse mong đợi. Điều này có thể ảnh hưởng tiêu cực đến điểm hiệu suất của bạn. Tìm hiểu thêm về cách [hiệu chỉnh một hệ số giảm tốc CPU phù hợp](https://github.com/GoogleChrome/lighthouse/blob/main/docs/throttling.md#cpu-throttling)."
|
|
1396
1585
|
},
|
|
@@ -1488,7 +1677,7 @@
|
|
|
1488
1677
|
"message": "Thời gian tồn tại (TTL) của bộ nhớ đệm"
|
|
1489
1678
|
},
|
|
1490
1679
|
"core/lib/i18n/i18n.js | columnDescription": {
|
|
1491
|
-
"message": "
|
|
1680
|
+
"message": "Mô tả"
|
|
1492
1681
|
},
|
|
1493
1682
|
"core/lib/i18n/i18n.js | columnDuration": {
|
|
1494
1683
|
"message": "Thời lượng"
|
|
@@ -1871,6 +2060,12 @@
|
|
|
1871
2060
|
"node_modules/@paulirish/trace_engine/generated/Deprecation.js | DataUrlInSvgUse": {
|
|
1872
2061
|
"message": "Hỗ trợ về dữ liệu: Các URL trong SVGUseElement không được dùng nữa và sẽ bị loại bỏ trong tương lai."
|
|
1873
2062
|
},
|
|
2063
|
+
"node_modules/@paulirish/trace_engine/generated/Deprecation.js | DocumentCreateEventKeyboardEvents": {
|
|
2064
|
+
"message": "document.createEvent(\"KeyboardEvents\") không được dùng nữa và sẽ bị xoá. Thay vào đó, hãy sử dụng new KeyboardEvent()."
|
|
2065
|
+
},
|
|
2066
|
+
"node_modules/@paulirish/trace_engine/generated/Deprecation.js | DocumentCreateEventTransitionEvent": {
|
|
2067
|
+
"message": "document.createEvent(\"TransitionEvent\") không được dùng nữa và sẽ bị xoá. Thay vào đó, hãy sử dụng new TransitionEvent()."
|
|
2068
|
+
},
|
|
1874
2069
|
"node_modules/@paulirish/trace_engine/generated/Deprecation.js | ExampleBrowserProcessDeprecation": {
|
|
1875
2070
|
"message": "Đây là ví dụ minh hoạ phần mã cần dùng khi trình duyệt báo rằng tiến trình này đã ngừng hoạt động."
|
|
1876
2071
|
},
|
|
@@ -1982,6 +2177,9 @@
|
|
|
1982
2177
|
"node_modules/@paulirish/trace_engine/generated/Deprecation.js | PrefixedVideoSupportsFullscreen": {
|
|
1983
2178
|
"message": "HTMLVideoElement.webkitSupportsFullscreen không còn được dùng nữa. Thay vào đó, vui lòng sử dụng Document.fullscreenEnabled."
|
|
1984
2179
|
},
|
|
2180
|
+
"node_modules/@paulirish/trace_engine/generated/Deprecation.js | PreventSvgFilterPaint": {
|
|
2181
|
+
"message": "Không thể áp dụng bộ lọc SVG cho iframe nhiều nguồn gốc, iframe bị hạn chế (ví dụ: iframe chạy trong môi trường hộp cát) hoặc trình bổ trợ."
|
|
2182
|
+
},
|
|
1985
2183
|
"node_modules/@paulirish/trace_engine/generated/Deprecation.js | RTCConstraintEnableDtlsSrtpFalse": {
|
|
1986
2184
|
"message": "Điều kiện hạn chế DtlsSrtpKeyAgreement đã bị xoá. Bạn đã chỉ định một giá trị false cho điều kiện hạn chế này, đây được coi là nỗ lực sử dụng phương thức SDES key negotiation đã bị xoá. Chức năng này đã bị xoá; thay vào đó, hãy sử dụng một dịch vụ có hỗ trợ DTLS key negotiation."
|
|
1987
2185
|
},
|
|
@@ -2090,6 +2288,30 @@
|
|
|
2090
2288
|
"node_modules/@paulirish/trace_engine/models/trace/insights/Cache.js | title": {
|
|
2091
2289
|
"message": "Sử dụng thời gian hữu dụng của bộ nhớ đệm hiệu quả"
|
|
2092
2290
|
},
|
|
2291
|
+
"node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | description": {
|
|
2292
|
+
"message": "Cần khai báo hệ thống mã hoá ký tự. Bạn có thể thực hiện việc này bằng thẻ bộ ký tự meta trong 1024 byte đầu tiên của HTML hoặc trong tiêu đề phản hồi HTTP Content-Type. [Tìm hiểu thêm về cách khai báo hệ thống mã hoá ký tự](https://developer.chrome.com/docs/insights/charset/)."
|
|
2293
|
+
},
|
|
2294
|
+
"node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | failedHttpHeader": {
|
|
2295
|
+
"message": "Không khai báo bộ ký tự trong tiêu đề HTTP"
|
|
2296
|
+
},
|
|
2297
|
+
"node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | failedMetaCharsetLate": {
|
|
2298
|
+
"message": "Khai báo bộ ký tự bằng thẻ meta sau 1024 byte đầu tiên"
|
|
2299
|
+
},
|
|
2300
|
+
"node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | failedMetaCharsetMissing": {
|
|
2301
|
+
"message": "Không khai báo bộ ký tự bằng thẻ meta"
|
|
2302
|
+
},
|
|
2303
|
+
"node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | failedMetaCharsetUnknown": {
|
|
2304
|
+
"message": "Không xác định được khai báo bộ ký tự meta dựa vào dấu vết"
|
|
2305
|
+
},
|
|
2306
|
+
"node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | passingHttpHeader": {
|
|
2307
|
+
"message": "Khai báo bộ ký tự trong tiêu đề HTTP"
|
|
2308
|
+
},
|
|
2309
|
+
"node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | passingMetaCharsetEarly": {
|
|
2310
|
+
"message": "Khai báo bộ ký tự bằng thẻ meta trong 1024 byte đầu tiên"
|
|
2311
|
+
},
|
|
2312
|
+
"node_modules/@paulirish/trace_engine/models/trace/insights/CharacterSet.js | title": {
|
|
2313
|
+
"message": "Khai báo hệ thống mã hoá ký tự"
|
|
2314
|
+
},
|
|
2093
2315
|
"node_modules/@paulirish/trace_engine/models/trace/insights/DOMSize.js | description": {
|
|
2094
2316
|
"message": "DOM lớn có thể làm các phép tính về kiểu và quy trình trình bày lại bố cục dài hơn, ảnh hưởng đến tốc độ phản hồi của trang. DOM lớn cũng sẽ làm tăng mức sử dụng bộ nhớ. [Tìm hiểu cách tránh kích thước DOM quá lớn](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": "Bạn nên áp dụng fetchpriority=high"
|
|
2299
2521
|
},
|
|
2522
|
+
"node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | fetchPriorityShouldBeAppliedToImagePreload": {
|
|
2523
|
+
"message": "fetchpriority=high nên được áp dụng cho yêu cầu tải trước hình ảnh"
|
|
2524
|
+
},
|
|
2300
2525
|
"node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | lazyLoadNotApplied": {
|
|
2301
|
-
"message": "
|
|
2526
|
+
"message": "Tài nguyên LCP không nên sử dụng loading=lazy"
|
|
2302
2527
|
},
|
|
2303
2528
|
"node_modules/@paulirish/trace_engine/models/trace/insights/LCPDiscovery.js | lcpLoadDelay": {
|
|
2304
2529
|
"message": "Hình ảnh LCP được tải sau {PH1} kể từ thời điểm bắt đầu sớm nhất."
|