Menu
×

Được chứng nhận

Ghi lại kiến ​​thức của bạn

Đăng nhập Đăng ký

Tạo Tài khoản Example.com.vn miễn phí để cải thiện trải nghiệm học tập của bạn

Người tìm đường và việc học của tôi

Theo dõi tiến độ học tập của bạn tại Example.com.vn và thu thập phần thưởng

Nâng cấp

Trở thành người dùng PLUS và mở khóa các tính năng mạnh mẽ (không có quảng cáo, lưu trữ, hỗ trợ, ..)

Bắt đầu từ đâu

Bạn không chắc chắn muốn bắt đầu từ đâu? Đi theo con đường được hướng dẫn của chúng tôi

Trình chỉnh sửa mã (Dùng thử)

Với trình chỉnh sửa mã trực tuyến của chúng tôi, bạn có thể chỉnh sửa mã và xem kết quả trong trình duyệt của mình

Video

Tìm hiểu những điều cơ bản về HTML qua video hướng dẫn thú vị và hấp dẫn

Mẫu

Chúng tôi đã tạo một loạt mẫu trang web đáp ứng mà bạn có thể sử dụng - miễn phí!

Web hosting

Lưu trữ trang web của riêng bạn và chia sẻ nó với mọi người với Example.com.vn Spaces

Tạo một máy chủ

Tạo máy chủ của riêng bạn bằng Python, PHP, React.js, Node.js, Java, C#, v.v.

Làm thế nào để

Bộ sưu tập lớn các đoạn mã cho HTML, CSS và JavaScript

Khung CSS

Xây dựng các trang web nhanh và phản hồi nhanh bằng cách sử dụng khung W3.CSS miễn phí của chúng tôi

Thống kê trình duyệt

Đọc xu hướng dài hạn của việc sử dụng trình duyệt

Tốc độ gõ

Kiểm tra tốc độ đánh máy của bạn

Đào tạo AWS

Tìm hiểu dịch vụ web của Amazon

Bộ chọn màu

Sử dụng công cụ chọn màu của chúng tôi để tìm các màu RGB, HEX và HSL khác nhau. Bánh xe màu hình tròn thể hiện sự chuyển màu trong quang phổ

Trò chơi mã

Trò chơi mã hóa W3Schools! Giúp linh miêu thu thập nón thông Logo Lynx

Đặt mục tiêu

Nhận hành trình học tập được cá nhân hóa dựa trên các kỹ năng và mục tiêu hiện tại của bạn

Bản tin

Tham gia bản tin của chúng tôi và có quyền truy cập vào nội dung độc quyền mỗi tháng

Việc làm

Thuê những tài năng công nghệ hàng đầu. Hợp lý hóa quy trình tuyển dụng của bạn để có đội ngũ phù hợp hoàn hảo

Lớp học

Hãy liên hệ để sử dụng Example.com.vn Plus và các chứng chỉ với tư cách là một tổ chức giáo dục

×
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP CÁCH W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS AN NINH MẠNG DỮ LIỆU KHOA HỌC

Vai trò, tên và giá trị trợ năng


Tại sao

Các thành phần giao diện người dùng cần có vai trò, tên và đôi khi là giá trị để đảm bảo rằng những người sử dụng công nghệ hỗ trợ có thể sử dụng chúng. Ví dụ về công nghệ hỗ trợ là trình đọc màn hình, điều khiển chuyển đổi và phần mềm nhận dạng giọng nói.


Cái gì

Có hai trường hợp chúng tôi không thể sử dụng phần tử HTML tốt có tính năng trợ năng tích hợp sẵn, mặc dù chúng tôi muốn:

  • Không có phần tử HTML gốc nào cho những gì chúng tôi đang cố gắng đạt được.
  • Có những hạn chế về mặt kỹ thuật ngăn cản chúng tôi sử dụng phần tử đúng về mặt ngữ nghĩa.

Trong cả hai trường hợp, chúng ta cần xây dựng một điều khiển tùy chỉnh. Một nguyên tắc trợ năng quan trọng là điều khiển tùy chỉnh cần có vai trò, tên và đôi khi là giá trị.


Làm sao

Làm cách nào để đảm bảo rằng các thành phần tùy chỉnh có vai trò, tên và giá trị?


Vai trò

Ảnh chụp màn hình từ điều hướng trang web Uber, hiển thị Công ty dưới dạng menu thả xuống.

Trong phần trước, Nút và Liên kết , chúng ta đã biết rằng nút menu thả xuống phải được mã hóa thành <button> . Điều gì sẽ xảy ra nếu khuôn khổ của chúng tôi không cho phép chúng tôi làm điều đó? Nếu nó buộc chúng ta phải sử dụng <a> thay thế? Nếu thành phần điều hướng trong thư viện chúng ta đang sử dụng được xây dựng bằng <a> s? Sau đó chúng ta cần thêm một vai trò.

Việc này được thực hiện bằng thuộc tính role="button" . Giờ đây, người dùng công nghệ hỗ trợ có thể hiểu điều khiển tùy chỉnh là gì. Một <button> có sẵn role="button" nên việc viết <button role="button"> là không cần thiết.



Tên

Điều khiển tùy chỉnh cần có tên. Trong ví dụ của chúng tôi, tên là nội dung của phần tử, Company . Miễn là chúng ta đã viết phần tử của mình như <div role="button">Company</div> , thì chúng ta có một cái tên hay. Đây còn được gọi là tên có thể truy cập. Tên có thể truy cập được cho <div> của chúng tôi là Company . Tốt.

Điều đó quá dễ dàng. Trong biểu mẫu đăng nhập sau, chúng tôi có một số thành phần – logo, tiêu đề, nhãn, menu thả xuống, đầu vào và nút.

Ảnh chụp màn hình trang đăng nhập Ubers, hiển thị logo, tiêu đề, nhãn, menu thả xuống tiền tố điện thoại, đầu vào và nút.

Chúng tôi đang xem xét kỹ hơn về nhãn, danh sách thả xuống và đầu vào. Nhìn bề ngoài không có sự phân biệt rõ ràng giữa menu thả xuống và đầu vào. Danh sách thả xuống được mã hóa bằng <select> , đây là phần tử chính xác cho trường hợp này. Tuy nhiên, nó không có tên:

<select name="countryCode">…</select>

Nó có một thuộc tính tên . Đây không giống như một tên có thể truy cập được. Điều này thật khó hiểu. Bài viết Tên truy cập là gì? giải thích thêm điều này. Thuộc tính tên dành cho máy tính. Trong <form> , nó được sử dụng làm tài liệu tham khảo khi dữ liệu được gửi. Tên countryCode này sẽ không giúp ích gì cho bất kỳ người dùng nào. Nó sẽ không được các công nghệ hỗ trợ tiếp nhận.

Để đặt cho <select> một tên có thể truy cập được, chúng ta phải sử dụng thuộc tính aria-label. Thông thường, chúng ta sẽ kết nối nhãn trực quan với thành phần <select> . Trong trường hợp này, chỉ có một nhãn trực quan cho cả hai thành phần.

Đây là <select> có tên có thể truy cập được:

<select aria-label="Mã gọi quốc gia" name="countryCode">…</select>

Giá trị

Một số thành phần có một giá trị hoặc một trạng thái. Đàn accordion mở hoặc đóng. Thông tin này phải có thể truy cập được.

Ảnh chụp màn hình của bảng điều khiển đàn accordion trên Uber. Một câu hỏi đóng và một câu hỏi mở.

Một chiếc đàn accordion được coi là một thành phần tùy chỉnh. Không có phần tử HTML tiêu chuẩn nào để sử dụng ở đây. Mỗi tiêu đề accordion phải là <button> hoặc role="button" :

<div role="button">When do I get charged for a ride?</div>

Tốt. Nó có vai trò của một nút. Nó cũng có tên, nội dung của div. Để cung cấp giá trị cho nút này, chúng ta cần thông báo cho công nghệ hỗ trợ rằng nút này đã bị đóng. Việc này được thực hiện với aria-expanded="false" :

<div role="button" aria-expanded="false">When do I get charged for a ride?</div>

Bây giờ, tiêu đề accordion của chúng ta có vai trò, tên và giá trị.



×

Liên hệ bán hàng

Nếu bạn muốn sử dụng dịch vụ của Example.com.vn với tư cách là một tổ chức giáo dục, nhóm hoặc doanh nghiệp, hãy gửi email cho chúng tôi:
[email được bảo vệ]

Báo cáo lỗi

Nếu bạn muốn báo cáo lỗi hoặc nếu bạn muốn đưa ra đề xuất, hãy gửi email cho chúng tôi:
[email được bảo vệ]

Example.com.vn được tối ưu hóa cho việc học tập và đào tạo. Các ví dụ có thể được đơn giản hóa để cải thiện khả năng đọc và học. Các hướng dẫn, tài liệu tham khảo và ví dụ liên tục được xem xét để tránh sai sót, nhưng chúng tôi không thể đảm bảo tính chính xác hoàn toàn của mọi nội dung. Trong khi sử dụng W3Schools, bạn đồng ý đã đọc và chấp nhận các điều khoản sử dụng , chính sách cookie và quyền riêng tư của chúng tôi.

Bản quyền 1999-2024 của Refsnes Data. Đã đăng ký Bản quyền. Example.com.vn được cung cấp bởi W3.CSS .