Với sự tiên tiến của WAI-ARIA , khi sử dụng các biểu tượng phông chữ, bạn có thể nên sử dụng kết hợp những điều sau để cải thiện khả năng truy cập:
- Trình bày vai trò để loại bỏ ngữ nghĩa vai trò gốc tiềm ẩn của phần tử. Điều này đặc biệt quan trọng nếu bạn (ab) sử dụng một phần tử có ngữ nghĩa gốc để cung cấp các biểu tượng, vì đây là trường hợp trong ví dụ của bạn sử dụng phần tử i (theo thông số kỹ thuật, "đại diện cho một khoảng văn bản bằng giọng nói thay thế hoặc tâm trạng [...] " ).
- Một aria-nhãn để cung cấp một giá trị chuỗi nhãn yếu tố -hoặc- một HTML mẹ đẻ tiêu đề thuộc tính nếu bạn là OK với trình duyệt hiển thị một tooltip khi được quét.
- Một aria-ẩn thuộc tính để ẩn nội dung được tạo ra từ công nghệ hỗ trợ (như bạn đang sử dụng một họ phông chữ biểu tượng, có một nhân vật được tạo ra: trước khi về: sau). Theo thông số kỹ thuật:
Tác giả CÓ THỂ, một cách thận trọng, sử dụng aria-hidden để ẩn nội dung hiển thị rõ ràng khỏi các công nghệ hỗ trợ chỉ khi hành động ẩn nội dung này nhằm cải thiện trải nghiệm cho người dùng công nghệ hỗ trợ bằng cách xóa nội dung thừa hoặc không liên quan. Các tác giả sử dụng aria-hidden để ẩn nội dung hiển thị khỏi trình đọc màn hình PHẢI đảm bảo rằng ý nghĩa và chức năng giống hệt hoặc tương đương được hiển thị với các công nghệ hỗ trợ.
Tôi không biết trường hợp sử dụng chính xác của bạn, vì vậy tôi có quyền sử dụng trường hợp đơn giản hơn là cung cấp số điện thoại. Theo thứ tự ưu tiên giảm dần, tôi sẽ sử dụng:
<span aria-label="Our phone number">
<span class="icon-phone" aria-hidden="true"></span>
+33 7 1234576
</span>
(or any variation implying:
- an `i` element with a `role` presentation attribute
instead of the inner `span` element
- a `title` attribute instead of an `aria-label` attribute)
<span class="icon-phone"
aria-label="Our phone number">+33 7 1234576</span>
(or any variation using `title` instead of `aria-label`)
<i class="icon-phone" role="presentation"
aria-label="Our phone number">+33 7 1234576</i>
(or any variation using `title` instead of `aria-label`)
Xin lưu ý rằng các thuộc tính aria-label và title phải mô tả nội dung của phần tử. Không phải là phần tử anh chị em tiếp theo. Vì vậy, tôi cảm thấy như giải pháp sau đây không phù hợp với các thông số kỹ thuật (ngay cả khi hầu hết các công cụ trợ năng thực sự sẽ có cùng hành vi có thể quan sát được như thể số điện thoại thực sự nằm trong span
phần tử):
<span class="icon-phone"
title="Our phone number"></span>+33 7 1234576
.sr-only
riêng biệt<span>
.