0
0
Lập trình
Admin Team
Admin Teamtechmely

Cách Tạo Nút Toggle Accessible Cho Người Dùng

Đăng vào 2 ngày trước

• 5 phút đọc

Chủ đề:

#html#a11y#toggle

Giới thiệu

Trong phát triển web, việc thiết kế nút toggle (nút chuyển đổi) không chỉ cần đẹp mắt mà còn phải đảm bảo tính khả dụng cho tất cả người dùng, bao gồm những người gặp khó khăn trong việc sử dụng công nghệ. Bài viết này sẽ hướng dẫn bạn cách tạo ra một nút toggle accessible, đồng thời chỉ ra những lỗi thường gặp và cách khắc phục chúng.

Tóm Tắt

Khi bạn bắt tay vào việc tạo một nút toggle, có thể bạn sẽ nghĩ ngay đến việc sử dụng thẻ <div> và trang trí nó theo thiết kế của mình. Tuy nhiên, điều này có thể dẫn đến những vấn đề nghiêm trọng về khả năng truy cập cho người dùng. Hãy cùng tìm hiểu cách tốt nhất để đảm bảo nút của bạn có thể được sử dụng bởi mọi người và những gì có thể sai sót khi bạn thay thế các phần tử HTML gốc bằng những phần tử nhân tạo.

Nút Toggle

Để bắt đầu tạo một nút toggle, cách đơn giản nhất là sử dụng thẻ <button>. Điều này không chỉ giúp bạn giữ lại các đặc tính của một nút gốc trong HTML mà còn đảm bảo rằng nó đáp ứng được các yêu cầu về khả năng truy cập. Hãy xem một ví dụ dưới đây:

html Copy
<button id="like-button" aria-pressed="false" aria-label="Thích">
    <span class="icon">👍</span>
</button>

Nút này sẽ hiện thị một biểu tượng thích và có thể được nhấn để thay đổi trạng thái giữa thích và không thích.

Cạm Bẫy Của Nút Nhân Tạo

Nếu bạn sử dụng thẻ <div> để làm nút toggle, bạn sẽ không có được những tính năng gốc mà một thẻ <button> mang lại. Dưới đây là bảng so sánh giữa thẻ <div> và thẻ <button>:

Tính Năng <div> <button> Nhận Xét
Chỉ số Tab Sử dụng bàn phím để điều hướng
Nhãn nút Người dùng không cần đoán
Hỗ trợ Bàn phím Hỗ trợ phím Space
Kiểu dáng tập trung
Ngữ nghĩa Trình duyệt biết đây là một nút
Khả năng truy cập ⚠️ Nút có tính khả dụng cao hơn
Tính năng Form

Những vấn đề này có thể ảnh hưởng đến trải nghiệm của người dùng và dễ dàng bị bỏ qua nếu không được kiểm tra kỹ lưỡng. Ngay cả khi bạn nhận ra và cố gắng sửa chữa chúng, bạn vẫn cần phải giải quyết bằng tay.

Giải Quyết Vấn Đề Khả Năng Truy Cập

Làm thế nào để chúng ta giải quyết các vấn đề đã thảo luận ở trên? Cách tốt nhất là sử dụng thẻ <button>. Việc sử dụng thẻ <button> sẽ khôi phục các tính năng gốc của nút. Điều này có thể ảnh hưởng đến kiểu dáng của nút toggle do các kiểu mặc định của nút. Tất cả các kiểu mặc định của nút có thể bị xóa bằng cách sử dụng thuộc tính CSS all: unset, nhưng thuộc tính này sẽ xóa tất cả các kiểu mặc định, bao gồm cả kiểu dáng tập trung mà chúng ta vẫn nên giữ lại.

Sử Dụng Nhãn Để Mô Tả Nút Một Cách Rõ Ràng

Mục đích của nút phải rõ ràng với người dùng. Một biểu tượng đơn giản có thể không đủ rõ ràng hoặc thậm chí không khả dụng. Người dùng có thể hiểu điều khiển chỉ bằng cách nhìn. Để cải thiện khả năng truy cập, hãy thêm một nhãn mô tả cho nút. Dưới đây là danh sách những điều cần xem xét khi gán nhãn cho nút:

  1. Nhãn văn bản hiển thị bên cạnh biểu tượng: Nếu không có lý do chính đáng để ẩn nó, hãy bao gồm nhãn.
  2. Văn bản ẩn trong nút: Thêm văn bản vào một thẻ <span> bên cạnh biểu tượng và ẩn nó bằng CSS.
  3. Sử dụng aria-label: Sử dụng thẻ aria-label trên nút để thêm nhãn mô tả.
  4. Tooltip khi di chuột: Sử dụng tooltip để hiển thị nhãn khi người dùng tương tác với nút.

Trạng Thái Toggle

Nútn đã khả dụng và hoạt động tốt, nhưng trạng thái toggle thì sao? Làm thế nào để người dùng biết được trạng thái của nút? Để giải quyết vấn đề này, chúng ta sử dụng thẻ aria-pressed. Thẻ này được sử dụng để chỉ định trạng thái cho nút toggle. Ví dụ:

html Copy
<button aria-pressed="true">...</button>

💡 Mẹo: Đừng thay đổi nội dung của nút khi nó được chuyển đổi để tránh gây nhầm lẫn cho người dùng.

Nhược Điểm Của Việc Không Sử Dụng Nút Gốc

Việc thay thế bất kỳ phần tử HTML gốc nào đều có những nhược điểm riêng. Các phần tử gốc được trình duyệt công nhận và bao gồm nhiều thuộc tính quan trọng giúp đảm bảo tính nhất quán và khả năng truy cập giữa các trình duyệt.

Mặc dù HTML không có nút toggle chuyên dụng, nhưng bằng cách sử dụng thẻ button chung với nhãn và trạng thái đã nhấn, chúng ta có thể tiến gần đến giải pháp tối ưu nhất.

Kết Luận

Tóm lại, để tạo một nút toggle accessible, bạn cần:

  1. Tính năng nút cơ bản.
  2. Nhãn nút mô tả.
  3. Thẻ khả năng truy cập.
  4. Trạng thái toggle.

Hãy đảm bảo rằng nút toggle của bạn không chỉ đẹp mắt mà còn dễ sử dụng cho tất cả người dùng.

Tài Nguyên Tham Khảo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào