lighthouse
Version:
Automated auditing, performance metrics, and best practices for the web.
701 lines • 302 kB
JSON
{
"core/audits/accessibility/accesskeys.js | description": {
"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.10/accesskeys)."
},
"core/audits/accessibility/accesskeys.js | failureTitle": {
"message": "Các giá trị của `[accesskey]` không phải là duy nhất"
},
"core/audits/accessibility/accesskeys.js | title": {
"message": "Các giá trị của `[accesskey]` là duy nhất"
},
"core/audits/accessibility/aria-allowed-attr.js | description": {
"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.10/aria-allowed-attr)."
},
"core/audits/accessibility/aria-allowed-attr.js | failureTitle": {
"message": "Các thuộc tính `[aria-*]` không khớp với vai trò tương ứng"
},
"core/audits/accessibility/aria-allowed-attr.js | title": {
"message": "Các thuộc tính `[aria-*]` khớp với vai trò tương ứng"
},
"core/audits/accessibility/aria-allowed-role.js | description": {
"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.10/aria-allowed-role)."
},
"core/audits/accessibility/aria-allowed-role.js | failureTitle": {
"message": "Sử dụng vai trò của ARIA cho các phần tử không tương thích"
},
"core/audits/accessibility/aria-allowed-role.js | title": {
"message": "Chỉ sử dụng vai trò của ARIA cho các phần tử tương thích"
},
"core/audits/accessibility/aria-command-name.js | description": {
"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.10/aria-command-name)."
},
"core/audits/accessibility/aria-command-name.js | failureTitle": {
"message": "Các phần tử `button`, `link` và `menuitem` không có tên dễ đọc."
},
"core/audits/accessibility/aria-command-name.js | title": {
"message": "Các phần tử `button`, `link` và `menuitem` có tên dễ đọc"
},
"core/audits/accessibility/aria-conditional-attr.js | description": {
"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.10/aria-conditional-attr)."
},
"core/audits/accessibility/aria-conditional-attr.js | failureTitle": {
"message": "Các thuộc tính ARIA không được dùng theo chỉ định cho vai trò của phần tử"
},
"core/audits/accessibility/aria-conditional-attr.js | title": {
"message": "Các thuộc tính ARIA được dùng theo chỉ định cho vai trò của phần tử"
},
"core/audits/accessibility/aria-deprecated-role.js | description": {
"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.10/aria-deprecated-role)."
},
"core/audits/accessibility/aria-deprecated-role.js | failureTitle": {
"message": "Các vai trò của ARIA mà Chrome không còn hỗ trợ đã được sử dụng"
},
"core/audits/accessibility/aria-deprecated-role.js | title": {
"message": "Các vai trò của ARIA mà Chrome không còn hỗ trợ không được sử dụng"
},
"core/audits/accessibility/aria-dialog-name.js | description": {
"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.10/aria-dialog-name)."
},
"core/audits/accessibility/aria-dialog-name.js | failureTitle": {
"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."
},
"core/audits/accessibility/aria-dialog-name.js | title": {
"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."
},
"core/audits/accessibility/aria-hidden-body.js | description": {
"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.10/aria-hidden-body)."
},
"core/audits/accessibility/aria-hidden-body.js | failureTitle": {
"message": "Hiện có `[aria-hidden=\"true\"]` trên tài liệu `<body>`"
},
"core/audits/accessibility/aria-hidden-body.js | title": {
"message": "Hiện không có `[aria-hidden=\"true\"]` trên tài liệu `<body>`"
},
"core/audits/accessibility/aria-hidden-focus.js | description": {
"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.10/aria-hidden-focus)."
},
"core/audits/accessibility/aria-hidden-focus.js | failureTitle": {
"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"
},
"core/audits/accessibility/aria-hidden-focus.js | title": {
"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"
},
"core/audits/accessibility/aria-input-field-name.js | description": {
"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.10/aria-input-field-name)."
},
"core/audits/accessibility/aria-input-field-name.js | failureTitle": {
"message": "Tên các trường nhập của ARIA ở trạng thái không thể tiếp cận"
},
"core/audits/accessibility/aria-input-field-name.js | title": {
"message": "Tên các trường nhập của ARIA ở trạng thái có thể tiếp cận"
},
"core/audits/accessibility/aria-meter-name.js | description": {
"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.10/aria-meter-name)."
},
"core/audits/accessibility/aria-meter-name.js | failureTitle": {
"message": "Các phần tử `meter` của ARIA không có tên dễ đọc."
},
"core/audits/accessibility/aria-meter-name.js | title": {
"message": "Các phần tử `meter` của ARIA có tên dễ đọc"
},
"core/audits/accessibility/aria-progressbar-name.js | description": {
"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.10/aria-progressbar-name)."
},
"core/audits/accessibility/aria-progressbar-name.js | failureTitle": {
"message": "Các phần tử `progressbar` của ARIA không có tên dễ đọc."
},
"core/audits/accessibility/aria-progressbar-name.js | title": {
"message": "Các phần tử `progressbar` của ARIA có tên dễ đọc"
},
"core/audits/accessibility/aria-prohibited-attr.js | description": {
"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.10/aria-prohibited-attr)."
},
"core/audits/accessibility/aria-prohibited-attr.js | failureTitle": {
"message": "Các phần tử sử dụng thuộc tính ARIA bị cấm"
},
"core/audits/accessibility/aria-prohibited-attr.js | title": {
"message": "Các phần tử chỉ sử dụng thuộc tính ARIA được phép"
},
"core/audits/accessibility/aria-required-attr.js | description": {
"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.10/aria-required-attr)."
},
"core/audits/accessibility/aria-required-attr.js | failureTitle": {
"message": "`[role]` không có tất cả các thuộc tính `[aria-*]` bắt buộc"
},
"core/audits/accessibility/aria-required-attr.js | title": {
"message": "`[role]` có tất cả các thuộc tính `[aria-*]` bắt buộc"
},
"core/audits/accessibility/aria-required-children.js | description": {
"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.10/aria-required-children)."
},
"core/audits/accessibility/aria-required-children.js | failureTitle": {
"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 đó."
},
"core/audits/accessibility/aria-required-children.js | title": {
"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."
},
"core/audits/accessibility/aria-required-parent.js | description": {
"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.10/aria-required-parent)."
},
"core/audits/accessibility/aria-required-parent.js | failureTitle": {
"message": "`[role]` không có trong phần tử mẹ bắt buộc tương ứng"
},
"core/audits/accessibility/aria-required-parent.js | title": {
"message": "`[role]` có trong phần tử mẹ bắt buộc tương ứng"
},
"core/audits/accessibility/aria-roles.js | description": {
"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.10/aria-roles)."
},
"core/audits/accessibility/aria-roles.js | failureTitle": {
"message": "Các giá trị của `[role]` là không hợp lệ"
},
"core/audits/accessibility/aria-roles.js | title": {
"message": "Các giá trị của `[role]` là hợp lệ"
},
"core/audits/accessibility/aria-text.js | description": {
"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.10/aria-text)."
},
"core/audits/accessibility/aria-text.js | failureTitle": {
"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."
},
"core/audits/accessibility/aria-text.js | title": {
"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."
},
"core/audits/accessibility/aria-toggle-field-name.js | description": {
"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.10/aria-toggle-field-name)."
},
"core/audits/accessibility/aria-toggle-field-name.js | failureTitle": {
"message": "Tên các trường chuyển đổi của ARIA ở trạng thái không thể tiếp cận"
},
"core/audits/accessibility/aria-toggle-field-name.js | title": {
"message": "Tên các trường chuyển đổi của ARIA ở trạng thái có thể tiếp cận"
},
"core/audits/accessibility/aria-tooltip-name.js | description": {
"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.10/aria-tooltip-name)."
},
"core/audits/accessibility/aria-tooltip-name.js | failureTitle": {
"message": "Các phần tử `tooltip` của ARIA không có tên dễ đọc."
},
"core/audits/accessibility/aria-tooltip-name.js | title": {
"message": "Các phần tử `tooltip` của ARIA có tên dễ đọc"
},
"core/audits/accessibility/aria-treeitem-name.js | description": {
"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.10/aria-treeitem-name)."
},
"core/audits/accessibility/aria-treeitem-name.js | failureTitle": {
"message": "Các phần tử `treeitem` của ARIA không có tên dễ đọc."
},
"core/audits/accessibility/aria-treeitem-name.js | title": {
"message": "Các phần tử `treeitem` của ARIA có tên dễ đọc"
},
"core/audits/accessibility/aria-valid-attr-value.js | description": {
"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.10/aria-valid-attr-value)."
},
"core/audits/accessibility/aria-valid-attr-value.js | failureTitle": {
"message": "Giá trị của các thuộc tính `[aria-*]` là không hợp lệ"
},
"core/audits/accessibility/aria-valid-attr-value.js | title": {
"message": "Các thuộc tính `[aria-*]` có giá trị hợp lệ"
},
"core/audits/accessibility/aria-valid-attr.js | description": {
"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.10/aria-valid-attr)."
},
"core/audits/accessibility/aria-valid-attr.js | failureTitle": {
"message": "Các thuộc tính `[aria-*]` là không hợp lệ hoặc bị sai chính tả"
},
"core/audits/accessibility/aria-valid-attr.js | title": {
"message": "Các thuộc tính `[aria-*]` là hợp lệ và không bị sai chính tả"
},
"core/audits/accessibility/axe-audit.js | failingElementsHeader": {
"message": "Các phần tử không đạt"
},
"core/audits/accessibility/button-name.js | description": {
"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.10/button-name)."
},
"core/audits/accessibility/button-name.js | failureTitle": {
"message": "Các nút không có tên có thể tiếp cận được"
},
"core/audits/accessibility/button-name.js | title": {
"message": "Các nút có tên tiếp cận được"
},
"core/audits/accessibility/bypass.js | description": {
"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.10/bypass)."
},
"core/audits/accessibility/bypass.js | failureTitle": {
"message": "Trang này không chứa tiêu đề, đường liên kết bỏ qua hoặc vùng mốc"
},
"core/audits/accessibility/bypass.js | title": {
"message": "Trang này chứa tiêu đề, phần tử liên kết bỏ qua hoặc vùng mốc"
},
"core/audits/accessibility/color-contrast.js | description": {
"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.10/color-contrast)."
},
"core/audits/accessibility/color-contrast.js | failureTitle": {
"message": "Màu nền trước và nền sau không có đủ tỷ lệ tương phản."
},
"core/audits/accessibility/color-contrast.js | title": {
"message": "Màu nền trước và nền sau có đủ tỷ lệ tương phản"
},
"core/audits/accessibility/definition-list.js | description": {
"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.10/definition-list)."
},
"core/audits/accessibility/definition-list.js | failureTitle": {
"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>`."
},
"core/audits/accessibility/definition-list.js | title": {
"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>`."
},
"core/audits/accessibility/dlitem.js | description": {
"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.10/dlitem)."
},
"core/audits/accessibility/dlitem.js | failureTitle": {
"message": "Các phần tử `<dl>` không bao gồm những mục trong danh sách định nghĩa"
},
"core/audits/accessibility/dlitem.js | title": {
"message": "Các phần tử `<dl>` chứa mục trong danh sách định nghĩa"
},
"core/audits/accessibility/document-title.js | description": {
"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.10/document-title)."
},
"core/audits/accessibility/document-title.js | failureTitle": {
"message": "Tài liệu không có phần tử `<title>`"
},
"core/audits/accessibility/document-title.js | title": {
"message": "Tài liệu có phần tử `<title>`"
},
"core/audits/accessibility/duplicate-id-aria.js | description": {
"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.10/duplicate-id-aria)."
},
"core/audits/accessibility/duplicate-id-aria.js | failureTitle": {
"message": "Mã nhận dạng của ARIA bị trùng lặp"
},
"core/audits/accessibility/duplicate-id-aria.js | title": {
"message": "Mã nhận dạng của Ứng dụng Internet phong phú dễ dùng (ARIA) là duy nhất"
},
"core/audits/accessibility/empty-heading.js | description": {
"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.10/empty-heading)."
},
"core/audits/accessibility/empty-heading.js | failureTitle": {
"message": "Phần tử tiêu đề không chứa nội dung."
},
"core/audits/accessibility/empty-heading.js | title": {
"message": "Tất cả phần tử tiêu đề đều chứa nội dung."
},
"core/audits/accessibility/form-field-multiple-labels.js | description": {
"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.10/form-field-multiple-labels)."
},
"core/audits/accessibility/form-field-multiple-labels.js | failureTitle": {
"message": "Các trường biểu mẫu có nhiều nhãn"
},
"core/audits/accessibility/form-field-multiple-labels.js | title": {
"message": "Không có trường biểu mẫu nào có nhiều nhãn"
},
"core/audits/accessibility/frame-title.js | description": {
"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.10/frame-title)."
},
"core/audits/accessibility/frame-title.js | failureTitle": {
"message": "Phần tử `<frame>` hoặc `<iframe>` không có tiêu đề"
},
"core/audits/accessibility/frame-title.js | title": {
"message": "Các phần tử `<frame>` hoặc `<iframe>` có tiêu đề"
},
"core/audits/accessibility/heading-order.js | description": {
"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.10/heading-order)."
},
"core/audits/accessibility/heading-order.js | failureTitle": {
"message": "Các phần tử tiêu đề không tuân theo trình tự giảm dần"
},
"core/audits/accessibility/heading-order.js | title": {
"message": "Các phần tử tiêu đề xuất hiện theo trình tự giảm dần"
},
"core/audits/accessibility/html-has-lang.js | description": {
"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.10/html-has-lang)."
},
"core/audits/accessibility/html-has-lang.js | failureTitle": {
"message": "Phần tử `<html>` chưa có thuộc tính `[lang]`"
},
"core/audits/accessibility/html-has-lang.js | title": {
"message": "Phần tử `<html>` có thuộc tính `[lang]`"
},
"core/audits/accessibility/html-lang-valid.js | description": {
"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.10/html-lang-valid)."
},
"core/audits/accessibility/html-lang-valid.js | failureTitle": {
"message": "Thuộc tính `[lang]` của phần tử `<html>` không có giá trị hợp lệ."
},
"core/audits/accessibility/html-lang-valid.js | title": {
"message": "Thuộc tính `[lang]` của phần tử `<html>` có giá trị hợp lệ"
},
"core/audits/accessibility/html-xml-lang-mismatch.js | description": {
"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.10/html-xml-lang-mismatch)."
},
"core/audits/accessibility/html-xml-lang-mismatch.js | failureTitle": {
"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]`."
},
"core/audits/accessibility/html-xml-lang-mismatch.js | title": {
"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]`."
},
"core/audits/accessibility/identical-links-same-purpose.js | description": {
"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.10/identical-links-same-purpose)."
},
"core/audits/accessibility/identical-links-same-purpose.js | failureTitle": {
"message": "Các đường liên kết giống hệt nhau không có cùng mục đích."
},
"core/audits/accessibility/identical-links-same-purpose.js | title": {
"message": "Các đường liên kết giống hệt nhau có cùng mục đích."
},
"core/audits/accessibility/image-alt.js | description": {
"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.10/image-alt)."
},
"core/audits/accessibility/image-alt.js | failureTitle": {
"message": "Phần tử hình ảnh không có thuộc tính `[alt]`"
},
"core/audits/accessibility/image-alt.js | title": {
"message": "Các phần tử hình ảnh có thuộc tính `[alt]`"
},
"core/audits/accessibility/image-redundant-alt.js | description": {
"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.10/image-redundant-alt)."
},
"core/audits/accessibility/image-redundant-alt.js | failureTitle": {
"message": "Các phần tử hình ảnh có thuộc tính `[alt]` là văn bản thừa."
},
"core/audits/accessibility/image-redundant-alt.js | title": {
"message": "Các phần tử hình ảnh không có thuộc tính `[alt]` là văn bản thừa."
},
"core/audits/accessibility/input-button-name.js | description": {
"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.10/input-button-name)."
},
"core/audits/accessibility/input-button-name.js | failureTitle": {
"message": "Các nút nhập không có văn bản rõ ràng."
},
"core/audits/accessibility/input-button-name.js | title": {
"message": "Các nút nhập có văn bản rõ ràng."
},
"core/audits/accessibility/input-image-alt.js | description": {
"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.10/input-image-alt)."
},
"core/audits/accessibility/input-image-alt.js | failureTitle": {
"message": "Các thành phần `<input type=\"image\">` không có văn bản `[alt]`"
},
"core/audits/accessibility/input-image-alt.js | title": {
"message": "Các thành phần `<input type=\"image\">` có văn bản `[alt]`"
},
"core/audits/accessibility/label-content-name-mismatch.js | description": {
"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.10/label-content-name-mismatch)."
},
"core/audits/accessibility/label-content-name-mismatch.js | failureTitle": {
"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."
},
"core/audits/accessibility/label-content-name-mismatch.js | title": {
"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."
},
"core/audits/accessibility/label.js | description": {
"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.10/label)."
},
"core/audits/accessibility/label.js | failureTitle": {
"message": "Các phần tử biểu mẫu không có nhãn liên kết"
},
"core/audits/accessibility/label.js | title": {
"message": "Các phần tử biểu mẫu có nhãn liên quan"
},
"core/audits/accessibility/landmark-one-main.js | description": {
"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.10/landmark-one-main)."
},
"core/audits/accessibility/landmark-one-main.js | failureTitle": {
"message": "Tài liệu không có điểm mốc chính."
},
"core/audits/accessibility/landmark-one-main.js | title": {
"message": "Tài liệu có một điểm mốc chính."
},
"core/audits/accessibility/link-in-text-block.js | description": {
"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.10/link-in-text-block)."
},
"core/audits/accessibility/link-in-text-block.js | failureTitle": {
"message": "Bạn cần dựa vào màu sắc để phân biệt các đường liên kết."
},
"core/audits/accessibility/link-in-text-block.js | title": {
"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."
},
"core/audits/accessibility/link-name.js | description": {
"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.10/link-name)."
},
"core/audits/accessibility/link-name.js | failureTitle": {
"message": "Các phần tử liên kết không có tên có thể nhận rõ"
},
"core/audits/accessibility/link-name.js | title": {
"message": "Các phần tử liên kết có tên có thể nhận rõ"
},
"core/audits/accessibility/list.js | description": {
"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.10/list)."
},
"core/audits/accessibility/list.js | failureTitle": {
"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>`)."
},
"core/audits/accessibility/list.js | title": {
"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>`)."
},
"core/audits/accessibility/listitem.js | description": {
"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.10/listitem)."
},
"core/audits/accessibility/listitem.js | failureTitle": {
"message": "Các mục trong danh sách (`<li>`) không có trong phần tử `<ul>` `<ol>` hoặc `<menu>` mẹ."
},
"core/audits/accessibility/listitem.js | title": {
"message": "Các mục trong danh sách (`<li>`) có trong phần tử mẹ `<ul>`, `<ol>` hoặc `<menu>`"
},
"core/audits/accessibility/meta-refresh.js | description": {
"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.10/meta-refresh)."
},
"core/audits/accessibility/meta-refresh.js | failureTitle": {
"message": "Tài liệu này sử dụng `<meta http-equiv=\"refresh\">`"
},
"core/audits/accessibility/meta-refresh.js | title": {
"message": "Tài liệu này không dùng `<meta http-equiv=\"refresh\">`"
},
"core/audits/accessibility/meta-viewport.js | description": {
"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.10/meta-viewport)."
},
"core/audits/accessibility/meta-viewport.js | failureTitle": {
"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."
},
"core/audits/accessibility/meta-viewport.js | title": {
"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."
},
"core/audits/accessibility/object-alt.js | description": {
"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.10/object-alt)."
},
"core/audits/accessibility/object-alt.js | failureTitle": {
"message": "Các thành phần `<object>` không có văn bản thay thế"
},
"core/audits/accessibility/object-alt.js | title": {
"message": "Các thành phần `<object>` có văn bản thay thế"
},
"core/audits/accessibility/select-name.js | description": {
"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.10/select-name)."
},
"core/audits/accessibility/select-name.js | failureTitle": {
"message": "Các phần tử lựa chọn không có phần tử nhãn đi kèm."
},
"core/audits/accessibility/select-name.js | title": {
"message": "Các phần tử lựa chọn có phần tử nhãn liên kết."
},
"core/audits/accessibility/skip-link.js | description": {
"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.10/skip-link)."
},
"core/audits/accessibility/skip-link.js | failureTitle": {
"message": "Đường liên kết bỏ qua không thể làm tâm điểm."
},
"core/audits/accessibility/skip-link.js | title": {
"message": "Đường liên kết bỏ qua có thể làm tâm điểm."
},
"core/audits/accessibility/tabindex.js | description": {
"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.10/tabindex)."
},
"core/audits/accessibility/tabindex.js | failureTitle": {
"message": "Một số phần tử có giá trị `[tabindex]` lớn hơn 0"
},
"core/audits/accessibility/tabindex.js | title": {
"message": "Không phần tử nào có giá trị `[tabindex]` lớn hơn 0"
},
"core/audits/accessibility/table-duplicate-name.js | description": {
"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.10/table-duplicate-name)."
},
"core/audits/accessibility/table-duplicate-name.js | failureTitle": {
"message": "Các bảng có nội dung giống nhau trong thuộc tính tóm tắt và `<caption>.`"
},
"core/audits/accessibility/table-duplicate-name.js | title": {
"message": "Các bảng có nội dung khác nhau trong thuộc tính tóm tắt và `<caption>`."
},
"core/audits/accessibility/table-fake-caption.js | description": {
"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.10/table-fake-caption)."
},
"core/audits/accessibility/table-fake-caption.js | failureTitle": {
"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."
},
"core/audits/accessibility/table-fake-caption.js | title": {
"message": "Bảng sử dụng `<caption>` thay vì các ô có thuộc tính `[colspan]` để biểu thị chú thích."
},
"core/audits/accessibility/target-size.js | description": {
"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.10/target-size)."
},
"core/audits/accessibility/target-size.js | failureTitle": {
"message": "Đích chạm có kích thước hoặc khoảng giãn cách chưa phù hợp."
},
"core/audits/accessibility/target-size.js | title": {
"message": "Đích chạm có kích thước và khoảng giãn cách phù hợp."
},
"core/audits/accessibility/td-has-header.js | description": {
"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.10/td-has-header)."
},
"core/audits/accessibility/td-has-header.js | failureTitle": {
"message": "Các phần tử `<td>` trong `<table>` lớn không có tiêu đề bảng."
},
"core/audits/accessibility/td-has-header.js | title": {
"message": "Các phần tử `<td>` trong `<table>` lớn có một hoặc nhiều tiêu đề bảng."
},
"core/audits/accessibility/td-headers-attr.js | description": {
"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.10/td-headers-attr)."
},
"core/audits/accessibility/td-headers-attr.js | failureTitle": {
"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."
},
"core/audits/accessibility/td-headers-attr.js | title": {
"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."
},
"core/audits/accessibility/th-has-data-cells.js | description": {
"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.10/th-has-data-cells)."
},
"core/audits/accessibility/th-has-data-cells.js | failureTitle": {
"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ả."
},
"core/audits/accessibility/th-has-data-cells.js | title": {
"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ả."
},
"core/audits/accessibility/valid-lang.js | description": {
"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.10/valid-lang)."
},
"core/audits/accessibility/valid-lang.js | failureTitle": {
"message": "Các thuộc tính `[lang]` không có giá trị hợp lệ"
},
"core/audits/accessibility/valid-lang.js | title": {
"message": "Các thuộc tính `[lang]` có giá trị hợp lệ"
},
"core/audits/accessibility/video-caption.js | description": {
"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.10/video-caption)."
},
"core/audits/accessibility/video-caption.js | failureTitle": {
"message": "Các phần tử `<video>` không chứa phần tử `<track>` có `[kind=\"captions\"]`."
},
"core/audits/accessibility/video-caption.js | title": {
"message": "Các phần tử `<video>` chứa phần tử `<track>` có `[kind=\"captions\"]`"
},
"core/audits/autocomplete.js | columnCurrent": {
"message": "Giá trị hiện tại"
},
"core/audits/autocomplete.js | columnSuggestions": {
"message": "Mã thông báo đề xuất"
},
"core/audits/autocomplete.js | description": {
"message": "`autocomplete` giúp người dùng gửi biểu mẫu nhanh hơn. Để thuận tiện cho người dùng, hãy cân nhắc cho phép thuộc tính trên bằng cách đặt một giá trị hợp lệ cho `autocomplete`. [Tìm hiểu thêm về `autocomplete` trong các biểu mẫu](https://developers.google.com/web/fundamentals/design-and-ux/input/forms#use_metadata_to_enable_auto-complete)"
},
"core/audits/autocomplete.js | failureTitle": {
"message": "Thuộc tính `autocomplete` của các phần tử `<input>` là không chính xác"
},
"core/audits/autocomplete.js | manualReview": {
"message": "Yêu cầu xem xét thủ công"
},
"core/audits/autocomplete.js | reviewOrder": {
"message": "Xem xét thứ tự của các mã thông báo"
},
"core/audits/autocomplete.js | title": {
"message": "Các phần tử `<input>` sử dụng `autocomplete` đúng cách"
},
"core/audits/autocomplete.js | warningInvalid": {
"message": "(Các) mã thông báo `autocomplete`: \"{token}\" là không hợp lệ trong {snippet}"
},
"core/audits/autocomplete.js | warningOrder": {
"message": "Xem xét thứ tự của các mã thông báo: \"{tokens}\" trong {snippet}"
},
"core/audits/bf-cache.js | actionableFailureType": {
"message": "Có thể thực hiện"
},
"core/audits/bf-cache.js | description": {
"message": "Nhiều thao tác di chuyển được thực hiện bằng cách quay lại trang trước hoặc tiếp tục tiến. Bộ nhớ đệm cho thao tác tiến/lùi (bfcache) có thể đẩy nhanh các thao tác quay lại này. [Tìm hiểu thêm về bfcache](https://developer.chrome.com/docs/lighthouse/performance/bf-cache/)"
},
"core/audits/bf-cache.js | displayValue": {
"message": "{itemCount,plural, =1{1 lý do xảy ra lỗi}other{# lý do xảy ra lỗi}}"
},
"core/audits/bf-cache.js | failureReasonColumn": {
"message": "Lý do xảy ra lỗi"
},
"core/audits/bf-cache.js | failureTitle": {
"message": "Trang ngăn chặn việc khôi phục bộ nhớ đệm cho thao tác tiến/lùi"
},
"core/audits/bf-cache.js | failureTypeColumn": {
"message": "Loại lỗi"
},
"core/audits/bf-cache.js | notActionableFailureType": {
"message": "Không thể thực hiện"
},
"core/audits/bf-cache.js | supportPendingFailureType": {
"message": "Đang chờ trình duyệt hỗ trợ"
},
"core/audits/bf-cache.js | title": {
"message": "Trang không ngăn việc khôi phục bộ nhớ đệm cho thao tác tiến/lùi"
},
"core/audits/bf-cache.js | warningHeadless": {
"message": "Không thể kiểm tra bộ nhớ đệm cho thao tác tiến/lùi trong Headless Chrome cũ (`--chrome-flags=\"--headless=old\"`). Để xem kết quả kiểm tra, hãy sử dụng Headless Chrome mới (`--chrome-flags=\"--headless=new\"`) hoặc Chrome tiêu chuẩn."
},
"core/audits/bootup-time.js | chromeExtensionsWarning": {
"message": "Các tiện ích của Chrome ảnh hưởng tiêu cực đến hiệu suất tải của trang này. Hãy thử kiểm tra trang ở chế độ ẩn danh hoặc từ một hồ sơ trên Chrome không có tiện ích."
},
"core/audits/bootup-time.js | columnScriptEval": {
"message": "Đánh giá tập lệnh"
},
"core/audits/bootup-time.js | columnScriptParse": {
"message": "Phân tích cú pháp tập lệnh"
},
"core/audits/bootup-time.js | columnTotal": {
"message": "Tổng thời gian của CPU"
},
"core/audits/bootup-time.js | description": {
"message": "Hãy cân nhắc giảm thời gian dùng để phân tích cú pháp, biên soạn và thực thi JS. Bạn có thể giải quyết vấn đề này bằng cách phân phối các tải trọng JS nhỏ hơn. [Tìm hiểu cách giảm thời gian thực thi JavaScript](https://developer.chrome.com/docs/lighthouse/performance/bootup-time/)."
},
"core/audits/bootup-time.js | failureTitle": {
"message": "Giảm thời gian thực thi JavaScript"
},
"core/audits/bootup-time.js | title": {
"message": "Thời gian thực thi JavaScript"
},
"core/audits/byte-efficiency/duplicated-javascript.js | description": {
"message": "Xóa các mô-đun JavaScript lớn, trùng lặp khỏi gói để giảm số byte mà hoạt động mạng tiêu thụ một cách không cần thiết. "
},
"core/audits/byte-efficiency/duplicated-javascript.js | title": {
"message": "Xóa các mô-đun trùng lặp trong gói JavaScript"
},
"core/audits/byte-efficiency/efficient-animated-content.js | description": {
"message": "Ảnh GIF lớn không có hiệu quả trong việc phân phối nội dung động. Hãy cân nhắc sử dụng video MPEG4/WebM cho ảnh động và PNG/WebP cho ảnh tĩnh thay vì ảnh GIF để tiết kiệm dữ liệu mạng. [Tìm hiểu thêm về định dạng video hiệu quả](https://developer.chrome.com/docs/lighthouse/performance/efficient-animated-content/)"
},
"core/audits/byte-efficiency/efficient-animated-content.js | title": {
"message": "Sử dụng các định dạng video cho nội dung động"
},
"core/audits/byte-efficiency/legacy-javascript.js | description": {
"message": "Mã Polyfill và Transform cho phép trình duyệt cũ dùng các tính năng mới của JavaScript. Tuy nhiên, nhiều tính năng không cần thiết cho trình duyệt hiện đại. Hãy cân nhắc sửa đổi quy trình xây dựng JavaScript để không chuyển đổi mã nguồn các tính năng [Đường cơ sở](https://web.dev/baseline), trừ phi bạn biết rằng mình phải hỗ trợ các trình duyệt cũ. [Tìm hiểu lý do hầu hết các trang web có thể triển khai mã ES6+ mà không cần chuyển đổi mã nguồn](https://philipwalton.com/articles/the-state-of-es5-on-the-web/)"
},
"core/audits/byte-efficiency/legacy-javascript.js | detectedCoreJs2Warning": {
"message": "Phát hiện phiên bản 2 của core-js trên trang này. Bạn nên nâng cấp lên phiên bản 3 để sử dụng nhiều cải tiến về hiệu suất."
},
"core/audits/byte-efficiency/legacy-javascript.js | title": {
"message": "Tránh phân phối JavaScript cũ tới các trình duyệt hiện đại"
},
"core/audits/byte-efficiency/modern-image-formats.js | description": {
"message": "Các định dạng hình ảnh như WebP và AVIF thường nén tốt hơn so với các định dạng PNG hoặc JPEG. Điều này có nghĩa là tốc độ tải hình ảnh xuống sẽ nhanh hơn và tiêu tốn ít dữ liệu hơn. [Tìm hiểu thêm về định dạng hình ảnh mới](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/)."
},
"core/audits/byte-efficiency/modern-image-formats.js | title": {
"message": "Phân phối hình ảnh ở định dạng mới và hiệu quả hơn"
},
"core/audits/byte-efficiency/offscreen-images.js | description": {
"message": "Hãy cân nhắc tải từng phần các hình ảnh ẩn và nằm ngoài màn hình sau khi tải xong tất cả tài nguyên quan trọng nhằm giảm thời gian tương tác. [Tìm hiểu cách trì hoãn hình ảnh ngoài màn hình](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/)."
},
"core/audits/byte-efficiency/offscreen-images.js | title": {
"message": "Trì hoãn tải các hình ảnh ngoài màn hình"
},
"core/audits/byte-efficiency/render-blocking-resources.js | description": {
"message": "Các tài nguyên đang chặn lần hiển thị đầu tiên của trang. Hãy cân nhắc phân phối nội dòng JS/Biểu định kiểu xếp chồng (CSS) quan trọng và trì hoãn mọi JS/kiểu không quan trọng. [Tìm hiểu cách loại bỏ các tài nguyên chặn hiển thị](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/)."
},
"core/audits/byte-efficiency/render-blocking-resources.js | title": {
"message": "Loại bỏ các tài nguyên chặn hiển thị"
},
"core/audits/byte-efficiency/total-byte-weight.js | description": {
"message": "Tải trọng mạng lớn gây tốn kém cho người dùng và thường khiến thời gian tải kéo dài. [Tìm hiểu cách giảm kích thước tải trọng](https://developer.chrome.com/docs/lighthouse/performance/total-byte-weight/)."
},
"core/audits/byte-efficiency/total-byte-weight.js | displayValue": {
"message": "Tổng kích thước là {totalBytes, number, bytes} KiB"
},
"core/audits/byte-efficiency/total-byte-weight.js | failureTitle": {
"message": "Tránh các tài nguyên lớn trên mạng"
},
"core/audits/byte-efficiency/total-byte-weight.js | title": {
"message": "Tránh tài nguyên lớn trên mạng"
},
"core/audits/byte-efficiency/unminified