Hướng dẫn react-native-render-html accessibility
Tại sao là Accessibility?Web accessibility (cũng được đề cập ở đây a11y) là sự thiết kế và tạo dựng website sao cho tất cả mọi người đều có thể sử dụng được. Sự hỗ trợ của Accessibility cho phép các công nghệ hỗ trợ có thể sử dụng trong các trang web. Show
React hỗ trợ đầy đủ để bạn thực hiện được điều này, bằng cách sử dụng các kỹ thuật HTML chuẩn. Tiêu chuẩn và Hướng dẫnWCAGHướng dẫn Web Content Accessibility cung cấp hướng dẫn để bạn tạo được những trang web có khả năng truy cập. Danh sách WCAG sau đây cho bạn một cái nhìn tổng quan:
WAI-ARIASáng kiến Web Accessibility - Truy cập trang web giàu ứng dụng tài liệu có chứa nhiều kỹ thuật để bạn có thể xây dựng các JavaScript widgets có thể truy cập. Chú ý rằng tất cả thuộc tính HTML
Tính ngữ nghĩa của HTMLTính ngữ nghĩa của HTML là nền tảng của accessibility trong một ứng dụng web. Sử dụng một số HTML elements để gia cố thêm về mặt ý nghĩa của thông tin trong những websites của chúng ta sẽ thường mang lại accessibility miễn phí.
Đôi khi chúng ta phá vỡ tính ngữ nghĩa của HTML khi thêm thẻ Ví dụ, Bạn có thể map một items collection vào một mảng fragments array như cách bạn làm với bất kỳ loại element nào khác: Khi bạn không cần bất kỳ props nào trong thẻ Fragment, bạn có thể sử dụng cú pháp rút gọn, nếu công cụ của bạn có hỗ trợ: Tham khảo
thêm, truy cập Tài liệu về Fragments. Mỗi HTML form control, như Những nguồn sau đây cho chúng ta thấy cách thực hiện điều đó: Mặc dù HTML tiêu chuẩn có thể sử dụng được trong React, tuy nhiên chú ý rằng thuộc tính User luôn cần được cung cấp thông tin về các tình huống lỗi. Đường dẫn sau đây cho chúng ta thấy cách đưa text error đến người dùng: Hãy chắc chắn rằng ứng dụng web của bạn có thể hoạt động tốt khi chỉ cần sử dụng bàn phím: Keyboard focus là việc hiển thị element hiện tại trong DOM đang được select bằng cách sử dụng bàn phím. Chúng ta thấy chúng ở mọi nơi ví dụ
như hình dưới đây: Chỉ khi
sử dụng CSS mới có thể remove outline này, ví dụ như chỉnh Bạn nên cung cấp một cơ chế nào đó cho phép users bỏ qua điều hướng trước đó trong ứng dụng của bạn, cũng là để tăng tốc điều hướng từ bàn phím. Skiplinks
hay Skip Navigation Links là những link điều hướng ẩn chỉ hiển thị khi bàn phím của người dùng tương tác đến trang web. Chúng rất dễ implement với internal page anchors và một ít styling: Cũng sử dụng landmark elements và roles, như Đọc thêm về cách sử dụng những elements đó để tăng cường accessibility ở đây: Ứng dụng React của
chúng ta liên tục điều chỉnh HTML DOM trong runtime, vì vậy đôi khi bàn phím khiến chúng ta mất focus hay bị set vào một element không ngờ tới. Để khắc phục vấn đề này, chúng ta cần lập trình để focus bằng bàn phím đúng hướng. Ví dụ, bằng cách reset keyboard focus vào một button đã mở một cửa sổ modal sau khi cửa sổ modal đó đã được đóng. Tài liệu từ trang web MDN phân tích và mô tả cách chúng ta xây dưng
keyboard-navigable JavaScript widgets. Để set focus trong React, chúng ta có thể sử dụng Refs to DOM elements. Sử dụng nó, chúng ta đầu tiên tạo một ref đến một element trong JSX của một component class: Sau
đó chúng ta có thể focus nó ở nơi khác trong component khi cần: Đôi khi một component cha cần được set focus vào một element trong component con. Chúng ta có thể thực hiện bằng cách exposing DOM refs to parent components thông qua một prop đặc biệt ở component con để chuyển tiếp ref của component cha đến DOM node của component con. Khi sử dụng HOC để mở rộng components, chuyển tiếp ref được khuyên dùng để bao bọc component sử dụng Một ví dụ về cách quản lý focus tốt là
react-aria-modal. Đây là một ví dụ tương đối hiếm hoi nói về một cửa sổ modal có thể truy cập hoàn toàn. Nó không chỉ set focus ban đầu vào nút cancel (ngăn chặn người dùng không vô tình dùng bàn phím kích hoạt success action) và khóa focus từ bàn phím vào bên trong modal, nó cũng reset focus về lại element đã kích hoạt modal đó lúc ban đầu. Chú ý: Đây là
một accessibility feature rất quan trọng, nó cũng là một kỹ thuật nên được sử dụng một cách không ngoan. Dùng nó để sửa chữa keyboard focus flow khi bị xáo trộn, không nên cố gắng dự đoán cách người dùng sử dụng ứng dụng. Hãy chắc chắn rằng tất cả chức năng được sử dụng thông qua con trỏ chuột hoặc
pointer event cũng có thể cũng được truy cập chỉ bằng cách sử dụng bàn phím. Chỉ dựa vào thiết bị pointer sẽ dấn đến nhiều trường hợp mà bàn phím của người dùng không thể sử dụng ứng dụng của bạn. Để minh họa vấn đề này, hãy nhìn vào một ví dụ liên quan đến việc accessibility bị vỡ do click events. Bên ngoài click pattern, nơi một user có thể vô hiệu hóa một popover đã đươc mở bằng cách click bên ngoài element. Đây là một cách implement thường thấy bằng cách gán một sự kiện Điều này có thể hoạt động tốt cho người dùng với những thiết bị pointer, như chuột, nhưng
thao tác nó với chỉ bàn phím sẽ khiến chức năng bị hư hỏng khi tab sang element tiếp theo Chúng ta cũng có thể đạt được chức năng tương tự bằng cách sử dụng những event handlers thích hợp, như Đoạn code cho thấy chức năng của
cả con trỏ và bàn phím của người dùng. Cũng lưu ý rằng thêm thuộc tính Đây là một ví dụ điển hình khi chỉ phụ thuộc vào con trỏ và sự kiện từ chuột sẽ làm hỏng chức năng cho người dùng
bàn phím. Luôn luôn test với bàn phím sẽ ngay lập tức phát hiện được những khu vực có vấn đề, sau đó có thể sửa bằng cách dùng những handler để nhận input từ bàn phím. Trải nghiệm người dùng phức tạp không nên khiến mức độ accessibilty bị giảm đi. Trong khi đó accessibility dễ đạt được nhất bằng cách code sát với HTML nhất có thể, ngay cả với widget phức tạp nhất. Ở đây chúng ta cần kiến thức từ
ARIA Roles cũng như ARIA States and Properties. Đây là những công cụ có sẵn những thuộc tính HTML đã được hỗ trợ đầy đủ trong JSX và cho phép chúng ta xây dựng một trang web accessibility đầy đủ, những React component có chức năng cao cấp. Môi loại widget có một design
pattern riêng và đáp ứng chức năng nhất định bởi người dùng như: Biểu thị ngôn
ngữ của những đoạn văn bản giúp phần mềm cài đặt đúng loại voice: Set Chúng ta có thể set nó trong React bằng cách sử dụng React Document Title Component. Hãy chắc chắn rằng tất cả đoạn text trong website của bạn có đủ độ tương phản màu sắc nhằm duy trì tối đa khả năng đọc của người dùng trong điều kiện thị lực kém: Thật tẻ nhạt khi phải tính toán màu sắc thủ công cho tất
cả trường hợp trong website của bạn, thay vào đó, bạn có thể tính toán tất cả màu sắc bằng Colorable. Cả 2 công cụ aXe và WAVE được đề cập bên dưới đều bao gồm bộ tests kiểm tra độ tương phản màu sắc, chúng sẽ báo cáo những lỗi liên quan. Nếu bạn muốn mở rộng khả năng kiểm tra độ tương phản, bạn có thể sử dụng những công cụ dưới đây: Có rất nhiều công cụ chúng ta có thể sử dụng để hỗ trợ trong việc tạo dựng accessibility của ứng dụng web. Cho đến thời điểm hiện tại, cách dễ nhất và cũng là một trong những điều quan trọng nhất là kiểm tra toàn bộ trang web của bạn có thể tương tác và sử dụng được chỉ bằng bàn phím hay không. Chúng ta thực hiện điều này bằng cách: Chúng ta có thể kiểm tra một số chức năng accessibility trực tiếp trong code JSX. Thường thì bộ kiểm tra intellisense sẽ được cung cấp sẵn trong IDE cho những vai trò ARIA, states và properties.
Chúng ta cũng có thể truy cập bằng những công cụ dưới đây: eslint-plugin-jsx-a11y plugin cho ESLint cung cấp AST phản hồi AST về những vấn đề liên quan đến accessibility trong JSX của bạn. Nhiều IDE’s cho
phép bạn tích hợp trực tiếp vào code analysis và source code windows. Create React App plugin này với một tập hợp về những quy tắc kích hoạt. Nếu bạn muốn cho phép quy tắc accessibility hơn nữa, bạn có thể tạo một Một số công cụ có thể chạy audit accessibility tren trang web trong trình duyệt của bạn. Hãy dùng chúng phối hợp với những công cụ kiểm tra đã được nhắc tới ở đây, bởi vì chúng chỉ có thể kiểm tra accessibility về mặt kỹ thuật. Hệ thống Deque cho phép aXe-core tự động kiểm tra end-to-end ứng dụng của bạn. Module này bao gồm những sự tích hợp cho Selenium. The
Accessibility Engine hoặc aXe, là một extension accessibility inspector tích hợp sẵn trong Bạn cũng có thể sử dụng react-axe module để report những phát hiện về accessibility trực tiếp khi đang develope và debug. Web Accessibility Evaluation Tool là một extension khác. The Accessibility Tree là một tập hợp DOM trê có chứa những accessible object cho từng DOM element mà chúng nên được cung cấp cho công nghệ hiện đại như screen readers. Ở một số trình duyệt, chúng ta có thể dễ dàng xem thông tin về accessibility cho từng element trong accessibility tree: Testing với một screen reader nên được xem như một phần của quá trình kiểm tra accessibility. Vui lòng lưu ý rằng sự kết hợp browser / screen reader là quan trọng. Bạn nên test ứng dụng của mình bằng trình duyệt phù hợp nhất cho screen reader của bạn. NonVisual Desktop Access hoặc NVDA là một Windows screen reader mã nguồn mở được sử dụng rộng rãi. Xem hướng dẫn bên dưới để biết cách dùng NVDA hiệu quả nhất: VoiceOver là một screen reader được tích hợp sẵn trong những thiết bị của Apple. Xem hướng dẫn sau đây để biết cách kích hoạt và sử dụng VoiceOver: Job Access With Speech hoặc JAWS, là một screen reader được dùng hiệu quả trên Windows. Xem hướng dẫn bên dưới để biết cách dùng JAWS hiệu quả
nhất: ChromeVox ilà một screen reader được tích hợp sẵn trên Chromebooks và được xem
như một extension cho Google Chrome. Xem hướng dẫn bên dưới để biết cách dùng ChromeVox hiệu quả nhất: Bài Viết Liên QuanQuảng CáoCó thể bạn quan tâmToplist được quan tâm#1
Top 7 sự tích hồ gươm - ngữ văn lớp 6 20235 tháng trước#2
Top 7 gdcd 6 bài 1 kết nối tri thức 20235 tháng trước#3
Top 7 ý nghĩa của xây dựng gia đình văn hóa 20235 tháng trước#4
Top 6 mẫu hợp đồng mượn đất làm nhà xưởng 20235 tháng trước#5
Top 3 tổng tài biến thái tôi yêu anh tập 27 20235 tháng trước#6
Top 6 kết thực phim mỹ nhân vô lệ 20235 tháng trước#7
#8
Top 8 đề tài và chủ de của tác phẩm tắt đèn 20235 tháng trước#9
Top 5 tiểu sử của thầy thích pháp hòa 20235 tháng trướcQuảng cáoXem NhiềuThế nào là số vô tỉ cho ví dụ năm 20241 tuần trướcBánh rau câu sinh nhật chứa bao nhiêu calo năm 20243 ngày trướcTự học tiếng anh như thế nào hiệu quả năm 20244 ngày trướcTuổi đinh mão xây nhà năm nào tốt năm 20246 ngày trướcKhoán chi đến sản phẩm cuối cùng là gì năm 20241 tuần trướcBài tập tìm hằng số cân bằng hoá 11 năm 20242 giờ trướcHọ tiếng nhật của bạn là gì năm 20244 ngày trướcCác yếu tố cấu thành văn hóa tổ chức năm 20241 tuần trướcBăn khoăn có nghĩa là gì năm 20241 ngày trướcQuảng cáoChúng tôiTrợ giúpBản quyền © 2021 Học Tốt Inc.
|