GitHub thêm trang Accessibility: giúp người dùng báo rào cản phần mềm
Tệp ACCESSIBILITY.md cho biết dự án hỗ trợ những cách sử dụng nào, còn vướng ở đâu và nhận phản ánh ra sao. Nó hữu ích khi gắn với việc sửa lỗi thực tế.
Một phần mềm có thể mở được nhưng vẫn không dùng được với người chỉ thao tác bằng bàn phím hoặc nghe trình đọc màn hình. GitHub đã bổ sung vị trí riêng cho thông tin về những rào cản này: tệp ACCESSIBILITY.md, nơi dự án giải thích điều đã hỗ trợ, điều còn vướng và cách người dùng báo lỗi.
Điểm thay đổi có thể kiểm tra trong tài liệu hiện hành của GitHub là trang Accessibility xuất hiện từ tệp trong kho mã, kèm liên kết ở phần giới thiệu dự án. Tệp này không tự sửa giao diện. Nó giải quyết vấn đề khác: người gặp khó khăn biết tìm thông tin ở đâu, và đội phát triển có một chỗ giữ trách nhiệm thay vì để các phản ánh trôi qua hội thoại.
Một nút bấm đẹp có thể là ngõ cụt
Hãy lấy một tình huống giả định trên website đặt vé. Nút “Tiếp tục” được vẽ bằng biểu tượng, không có tên có thể đọc bởi phần mềm hỗ trợ. Người nhìn màn hình có thể đoán ra ý nghĩa, nhưng người dùng trình đọc màn hình chỉ nghe “button”, không biết nút làm gì. Nếu bàn phím cũng không đưa con trỏ tới đó, quy trình mua vé dừng hẳn dù máy chủ vẫn hoạt động bình thường.
Khả năng tiếp cận, thường được gọi là accessibility, là việc thiết kế để người có những năng lực và cách tương tác khác nhau vẫn sử dụng được sản phẩm. Nó liên quan đến nội dung, cấu trúc trang, thao tác và phản hồi lỗi. Không thể giải quyết trọn vẹn chỉ bằng tăng cỡ chữ hoặc thêm chế độ nền tối.
Một dự án công khai có thể nhận hàng trăm báo lỗi. Nếu phản ánh tiếp cận nằm lẫn trong đó mà không có quy trình, người dùng phải nhiều lần giải thích cùng một trở ngại. Khi người bảo trì thay đổi, kiến thức về cách tái hiện và người phụ trách cũng có thể thất lạc. Trang thông tin chung giúp nối trải nghiệm của người dùng với công việc bảo trì cụ thể.
ACCESSIBILITY.md nên nói điều gì?
Theo GitHub, trang này có thể trình bày ưu tiên, môi trường được hỗ trợ, rào cản đã biết, kỳ vọng đối với người đóng góp và quy trình báo vấn đề. Hệ thống tìm tệp theo thứ tự ở thư mục .github, thư mục gốc rồi docs. Chi tiết thứ tự có ích với dự án đã có nhiều tài liệu: đội ngũ cần tránh hai bản tuyên bố khác nhau cùng tồn tại mà không rõ bản nào được hiển thị.
W3C Web Accessibility Initiative khuyến nghị tuyên bố cung cấp thông tin có ích cho người dùng, bao gồm cách phản hồi và giới hạn. Một câu “chúng tôi cam kết trải nghiệm tốt nhất” không giúp người đang bị kẹt ở biểu mẫu. Thông tin thực dụng hơn là phần nào đang có lỗi, có cách thực hiện thay thế hay không và liên hệ ai để được hỗ trợ.
Tuyên bố cũng cần đúng phạm vi. Nếu nhóm mới thử website trên một trình duyệt và một trình đọc màn hình, không nên viết như thể đã kiểm chứng mọi thiết bị. Sự minh bạch giúp người dùng lựa chọn cách tiếp cận phù hợp và giúp đội phát triển xác định phần cần mở rộng thử nghiệm. Liệt kê một giới hạn để xử lý khác với dùng danh sách giới hạn làm lý do bỏ qua.
Với người quản lý sản phẩm, giá trị nằm ở khả năng gắn thông tin với người chịu trách nhiệm và thời điểm cập nhật. Nếu giao diện đã thay đổi nhiều nhưng trang vẫn giữ kết quả thử cũ, tài liệu có thể dẫn người dùng đi sai đường. Bởi vậy, thay đổi chức năng quan trọng cũng nên kích hoạt việc xem lại tuyên bố.
Có tuyên bố không đồng nghĩa đạt chuẩn
WCAG là bộ hướng dẫn quốc tế về khả năng tiếp cận nội dung web, với các tiêu chí có thể kiểm tra. Nó bao quát việc người dùng nhận biết nội dung, vận hành giao diện, hiểu thông tin và sử dụng cùng công nghệ hỗ trợ. Đây là yêu cầu về sản phẩm, còn ACCESSIBILITY.md là nơi mô tả tình trạng và quy trình liên quan.
Vì thế, thêm tệp vào kho mã không phải chứng nhận. Một nhãn trong trang dự án có thể giúp người dùng tìm tài liệu, nhưng không tự kiểm tra được thứ tự bàn phím, tên điều khiển hay thông báo lỗi. Tuyên bố đạt một mức WCAG phải dựa trên phạm vi đánh giá và bằng chứng tương ứng, không dựa vào việc tệp có xuất hiện hay không.
Điều này quan trọng với các nhóm mua phần mềm nguồn mở. Người mua không nên coi một văn bản được viết trau chuốt là kết quả kiểm toán độc lập. Họ có thể dùng nó để đặt câu hỏi cụ thể: các luồng nào đã được đánh giá, ai thực hiện, phiên bản nào và các lỗi tồn đọng ảnh hưởng tới người dùng của mình ra sao.
Những phép thử đơn giản phơi bày lỗi lớn
Hướng dẫn Easy Checks của W3C đưa ra một số kiểm tra ban đầu về tiêu đề trang, cấu trúc heading, văn bản thay thế ảnh, tương phản và bàn phím. Chúng giúp nhóm nhìn thấy những lỗi căn bản, nhưng W3C nhấn mạnh vượt qua các bước này chưa phải đánh giá đầy đủ.
Thử thao tác bằng bàn phím là một ví dụ trực quan. Người kiểm tra đi qua biểu mẫu mà không dùng chuột, xem vị trí đang chọn có hiện rõ, thứ tự di chuyển có hợp lý và có bị mắc kẹt trong cửa sổ bật lên hay không. Một ứng dụng có nhiều nút nhưng không biết nút nào đang được chọn tạo ra trở ngại ngay cả với người vẫn nhìn thấy màn hình.
Với biểu mẫu, tên trường và lời báo lỗi cần giúp người dùng sửa sai. Chỉ đổi viền sang màu đỏ khiến người không phân biệt được màu hoặc người nghe nội dung bỏ lỡ thông tin. Một thông báo nói rõ trường nào sai và cần thay đổi gì thường có ích cho tất cả người dùng, chứ không riêng người sử dụng công nghệ hỗ trợ.
Những kiểm tra như vậy nên đi cùng phản hồi của người dùng thực tế. Người phát triển biết ứng dụng quá rõ có thể vô thức bỏ qua bước mà người mới không hiểu. Trải nghiệm hỗ trợ cũng khác theo thiết bị và cách dùng; đánh giá tự động không thay được toàn bộ việc quan sát một người hoàn thành nhiệm vụ.
Dự án nhỏ cần một quy trình vừa sức
GitHub cho phép tài liệu cộng đồng mặc định được đặt ở kho .github cấp tài khoản để các dự án chưa có bản riêng sử dụng. Cách này giảm việc khởi tạo lặp lại. Nhưng dự án có giao diện và người dùng riêng vẫn cần cập nhật thông tin đặc thù; một bản dùng chung không nên che lấp rào cản của từng sản phẩm.
Một quy trình vừa sức có thể bắt đầu từ luồng quan trọng nhất, như đăng nhập, tìm thông tin và gửi yêu cầu. Mỗi phản ánh cần có mô tả thao tác, môi trường và kết quả mong đợi. Đội bảo trì xác nhận lỗi, xác định ảnh hưởng rồi ưu tiên sửa theo mức cản trở nhiệm vụ. Không nhất thiết đợi một cuộc cải tổ giao diện mới xử lý nút đang chặn người dùng.
Với nhóm làm SaaS hoặc dịch vụ số ở Việt Nam, đây còn là cơ hội giảm chi phí hỗ trợ. Khi người dùng biết nơi gửi phản ánh và nhóm biết cách tái hiện, ít thời gian bị mất cho các lượt hỏi lại. Đó là suy luận về quy trình, không phải số đo tiết kiệm đã được GitHub công bố. Hiệu quả cần được kiểm tra bằng thời gian phản hồi và số rào cản thực sự được khắc phục.
Trang Accessibility có giá trị khi nó phản ánh một vòng lặp đang diễn ra: nhận phản ánh, sửa sản phẩm, thử lại và cập nhật thông tin. Nếu chỉ thêm tệp rồi quên, dự án có thêm một tài liệu. Nếu giữ vòng lặp ấy hoạt động, người dùng có thêm một con đường để vượt qua chỗ mà phần mềm từng khiến họ dừng lại.
Nguồn tham khảo
- GitHub: trang Accessibility
- GitHub: tài liệu mặc định
- W3C: viết tuyên bố tiếp cận
- W3C: tổng quan WCAG
- W3C: kiểm tra ban đầu
Ảnh tư liệu máy tính hỗ trợ người khiếm thị Baum David System 90 tại Berlin Vintage Computer Festival năm 2017; không phải sản phẩm GitHub. Nguồn: Lommes / Wikimedia Commons, CC BY-SA 4.0; dùng nguyên bản, không chỉnh sửa.