Các tabindex
thuộc tính định nghĩa một cách rõ ràng trật tự cho các yếu tố thể đặt tiêu điểm (thường là liên kết và hình thức kiểm soát) trong một trang. Nó cũng có thể được sử dụng để xác định xem các phần tử có nên được lấy nét hay không.
[Cả hai] tabindex="0"
và tabindex="-1"
có ý nghĩa đặc biệt và cung cấp chức năng riêng biệt trong HTML. Giá trị của 0
chỉ ra rằng phần tử phải được đặt theo thứ tự điều hướng mặc định. Điều này cho phép các yếu tố mà không phải là tự nhiên có thể đặt tiêu (ví dụ như <div>
, <span>
, và<p>
) để nhận tập trung bàn phím. Tất nhiên người ta thường sử dụng các liên kết và điều khiển biểu mẫu cho tất cả các phần tử tương tác, nhưng điều này cho phép các phần tử khác có thể lấy tiêu điểm và kích hoạt tương tác.
Một tabindex="-1"
giá trị xóa phần tử khỏi luồng điều hướng mặc định (tức là người dùng không thể gắn thẻ vào nó), nhưng nó cho phép nó nhận tiêu điểm theo chương trình , nghĩa là có thể đặt tiêu điểm cho phần tử đó từ một liên kết hoặc bằng tập lệnh. ** Điều này có thể rất hữu ích cho các phần tử không nên được gắn thẻ, nhưng có thể cần phải đặt tiêu điểm cho chúng .
Một ví dụ điển hình là cửa sổ hộp thoại phương thức - khi mở ra, tiêu điểm phải được đặt thành hộp thoại để trình đọc màn hình sẽ bắt đầu đọc và bàn phím sẽ bắt đầu điều hướng trong hộp thoại. Bởi vì hộp thoại (có thể chỉ là một <div>
phần tử) không thể lấy tiêu điểm theo mặc định, việc gán tabindex="-1"
cho hộp thoại cho phép đặt tiêu điểm cho hộp thoại với tập lệnh khi nó được trình bày.
Giá trị của -1
cũng có thể hữu ích trong các tiện ích và menu phức tạp sử dụng các phím mũi tên hoặc các phím tắt khác để đảm bảo rằng chỉ một phần tử trong tiện ích con có thể điều hướng được bằng phím tab, nhưng vẫn cho phép đặt tiêu điểm trên các thành phần khác trong tiện ích con.