low angle photograph of black metal tower satellite during daytime
Photo by Pixabay on Pexels.com

Về hướng dẫn WCAG 2.2 “1.4.13 Nội dung khi di chuột hoặc lấy nét” Mức AA

Mở đầu

Trong “1.4.13 Nội dung khi di chuột hoặc lấy nét” của WCAG 2.2, yêu cầu rằng khi nội dung bổ sung xuất hiện do di chuột hoặc lấy nét từ bàn phím, nội dung đó phải có thể thao tác được và có thể kiểm soát một cách thích hợp.


1. Tổng quan về yêu cầu

Nội dung bổ sung (ví dụ: hộp công cụ, pop-up) phải đáp ứng các điều kiện sau:

a. Có thể di chuột qua(Hoverable)

  • Khi nội dung được hiển thị, nó không được biến mất khi di chuyển con trỏ chuột.

b. Có thể xóa(Dismissible)

  • Người dùng có thể dễ dàng xóa nội dung bổ sung (như đóng bằng phím Esc hoặc nhấp chuột).

c. Bền vững(Persistent)

  • Nội dung không được biến mất cho đến khi người dùng thao tác.

2. Phương pháp triển khai

a. Tạo hộp công cụ và pop-up

Ví dụ về HTML và CSS

HTML

<div class="tooltip-container">
  <button id="infoButton">Xem chi tiết</button>
  <div class="tooltip" role="tooltip" aria-hidden="true" id="tooltipContent">
    Thông tin bổ sung sẽ hiển thị ở đây
  </div>
</div>

CSS

.tooltip {
  display: none;
  position: absolute;
  background-color: #f0f0f0;
  border: 1px solid #ccc;
  padding: 10px;
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
  z-index: 10;
}

.tooltip-container:hover .tooltip,
.tooltip-container:focus-within .tooltip {
  display: block;
}

b. Làm cho nội dung có thể thao tác bằng bàn phím

Triển khai lấy nét và xóa bằng JavaScript

JavaScript

const infoButton = document.getElementById('infoButton');
const tooltipContent = document.getElementById('tooltipContent');

infoButton.addEventListener('focus', () => {
  tooltipContent.style.display = 'block';
  tooltipContent.setAttribute('aria-hidden', 'false');
});

infoButton.addEventListener('blur', () => {
  tooltipContent.style.display = 'none';
  tooltipContent.setAttribute('aria-hidden', 'true');
});

c. Cung cấp chức năng đóng hộp công cụ và pop-up

Đóng bằng phím Esc

JavaScript

document.addEventListener('keydown', (event) => {
  if (event.key === 'Escape') {
    tooltipContent.style.display = 'none';
    tooltipContent.setAttribute('aria-hidden', 'true');
  }
});

3. Các ví dụ thất bại thường gặp và cách khắc phục

a. Nội dung biến mất khi di chuột ra ngoài hoặc mất focus

Ví dụ thất bại

<div class="tooltip-container">
  <button>Xem chi tiết</button>
  <div class="tooltip">Thông tin bổ sung</div>
</div>

Vấn đề

  • Người dùng không thể thao tác với nội dung và nội dung biến mất khi mất focus.

Ví dụ cải thiện

  • Có thể di chuột qua và hiển thị nội dung cho đến khi người dùng xóa.

b. Không có chức năng xóa

Ví dụ thất bại

  • Chức năng đóng bằng phím Esc hoặc nhấp chuột chưa được triển khai.

Ví dụ cải thiện

  • Thêm cơ chế đóng bằng phím Esc hoặc nhấp chuột ngoài.

4. Lợi ích của khả năng tiếp cận

a. Lưu ý đến người khuyết tật thị giác và vận động

  • Có thể thao tác chỉ bằng bàn phím
  • Người dùng gặp khó khăn với việc điều khiển chuột cũng sẽ dễ dàng sử dụng hơn

b. Cải thiện khả năng thao tác trực quan

  • Trải nghiệm người dùng được cải thiện vì nội dung không biến mất đột ngột.

5. Phương pháp kiểm tra

a. Kiểm tra thủ công

  1. Kiểm tra xem nội dung có hiển thị khi di chuột qua không.
  2. Kiểm tra xem nội dung có thể thao tác bằng bàn phím (phím Tab hoặc Shift+Tab) không.
  3. Kiểm tra xem có thể xóa nội dung bằng phím Esc không.

b. Công cụ kiểm tra tự động

  • Sử dụng Axe hoặc WAVE để kiểm tra khả năng tiếp cận của hộp công cụ và pop-up.

Tóm tắt

1.4.13 Nội dung khi di chuột hoặc lấy nét" của WCAG 2.2 yêu cầu nội dung bổ sung phải thân thiện với người dùng cả về mặt thị giác và khả năng thao tác.

Điểm cần chú ý khi triển khai

  1. Cung cấp hiển thị có thể di chuột qua và duy trì lâu dài.
  2. Thêm chức năng xóa nội dung.
  3. Tăng cường khả năng tiếp cận bằng cách sử dụng thao tác bàn phím và thuộc tính ARIA.

Bằng cách thực hiện những điều này, bạn có thể cung cấp nội dung web dễ sử dụng cho tất cả người dùng.


Chúng tôi đã phát hành UUU Web Accessibility Widget Tool, công cụ giúp dễ dàng triển khai khả năng truy cập web. Nếu bạn quan tâm đến việc cải thiện khả năng truy cập, hãy xem thêm thông tin chi tiết.

By greeden

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)