Ngữ nghĩa và cách thao tác trong nội dung

Vai trò của ngữ nghĩa trong việc điều hướng trang

Alice Boxhall
Alice Boxhall
Dave Gash
Dave Gash
Meggin Kearney
Meggin Kearney

Bạn đã tìm hiểu về các đặc điểm hữu dụng, ngữ nghĩa và cách các công nghệ hỗ trợ sử dụng cây hỗ trợ tiếp cận để tạo trải nghiệm thay thế cho người dùng. Bạn có thể thấy rằng việc viết HTML có ngữ nghĩa, biểu cảm sẽ giúp bạn có được nhiều tính năng hỗ trợ tiếp cận mà không tốn nhiều công sức, vì nhiều phần tử chuẩn có cả ngữ nghĩa và hành vi hỗ trợ tích hợp sẵn.

Trong bài học này, chúng ta sẽ đề cập đến một số ngữ nghĩa ít rõ ràng hơn, rất quan trọng đối với người dùng trình đọc màn hình, đặc biệt là liên quan đến hoạt động điều hướng. Trong một trang đơn giản có nhiều thành phần điều khiển nhưng không có nhiều nội dung, bạn có thể dễ dàng quét trang để tìm nội dung mình cần. Tuy nhiên, trên một trang có nhiều nội dung, chẳng hạn như mục nhập trên Wikipedia hoặc trang tổng hợp tin tức, việc đọc từ trên xuống dưới không phải là việc thiết thực. Bạn cần có một cách để điều hướng hiệu quả qua nội dung.

Các nhà phát triển thường có quan niệm sai lầm rằng trình đọc màn hình rất tẻ nhạt và chậm khi sử dụng, hoặc mọi thứ trên màn hình đều phải có thể lấy tiêu điểm để trình đọc màn hình có thể tìm thấy. Thường thì không phải vậy.

Người dùng trình đọc màn hình thường dựa vào danh sách tiêu đề để xác định vị trí thông tin. Hầu hết trình đọc màn hình đều có cách dễ dàng để tách riêng và quét danh sách tiêu đề trang, một tính năng quan trọng được gọi là rotor (bộ quét). Hãy xem cách chúng ta có thể sử dụng tiêu đề HTML một cách hiệu quả để hỗ trợ tính năng này.

Sử dụng tiêu đề hiệu quả

Trước tiên, hãy nhắc lại một điểm trước đó: Thứ tự DOM rất quan trọng, không chỉ đối với thứ tự tiêu điểm mà còn đối với thứ tự trình đọc màn hình. Khi thử nghiệm với các trình đọc màn hình như VoiceOver, NVDA, JAWS và ChromeVox, bạn sẽ thấy danh sách tiêu đề tuân theo thứ tự DOM thay vì thứ tự hình ảnh.

Điều này đúng với hầu hết các trình đọc màn hình. Vì trình đọc màn hình tương tác với cây hỗ trợ tiếp cận và cây hỗ trợ tiếp cận dựa trên cây DOM, nên thứ tự mà trình đọc màn hình nhận thấy trực tiếp dựa trên thứ tự DOM. Điều này đồng nghĩa với việc một cấu trúc tiêu đề phù hợp trở nên quan trọng hơn bao giờ hết.

Trong hầu hết các trang có cấu trúc tốt, các cấp tiêu đề được lồng để cho biết mối quan hệ mẹ con giữa các khối nội dung. Danh sách kiểm tra WebAIM liên tục đề cập đến kỹ thuật này.

  • 1.3.1 đề cập đến "Tiêu đề được đánh dấu bằng mã ngữ nghĩa"
  • 2.4.1 đề cập đến cấu trúc tiêu đề như một kỹ thuật để bỏ qua các khối nội dung
  • 2.4.6 trình bày một số thông tin chi tiết để viết tiêu đề hữu ích
  • 2.4.10 nêu rõ "từng phần nội dung được chỉ định bằng tiêu đề, nếu thích hợp"

Không phải tiêu đề nào cũng phải hiển thị trên màn hình. Ví dụ: Wikipedia sử dụng một kỹ thuật cố ý đặt một số tiêu đề ra khỏi màn hình để chỉ cho phép duy nhất trình đọc màn hình và các công nghệ hỗ trợ khác truy cập vào các tiêu đề đó.

<style>
    .sr-only {
    position:absolute;
    left:-10000px;
    top:auto;
    width:1px;
    height:1px;
    overflow:hidden;
    }
</style>

<h2 class="sr-only">This heading is offscreen.</h2>

Đối với các ứng dụng phức tạp, đây có thể là cách hay để chứa tiêu đề khi thiết kế hình ảnh không yêu cầu hoặc không có chỗ cho tiêu đề hiển thị.

Các tuỳ chọn điều hướng khác

Mặc dù các trang có tiêu đề phù hợp giúp người dùng trình đọc màn hình di chuyển, nhưng họ cũng có thể sử dụng các thành phần khác để di chuyển trên trang, bao gồm đường liên kết, các thành phần điều khiển biểu mẫuđiểm đánh dấu.

Người đọc có thể sử dụng tính năng con lăn của trình đọc màn hình (một cách dễ dàng để tách riêng và quét danh sách tiêu đề trang) để truy cập vào danh sách đường liên kết trên trang. Đôi khi, như trên một trang wiki, có nhiều đường liên kết, vì vậy người đọc có thể tìm kiếm một từ khoá trong các đường liên kết đó. Điều này giới hạn số lượt truy cập vào các đường liên kết thực sự chứa cụm từ, thay vì mọi lần xuất hiện của cụm từ trên trang.

Tính năng này chỉ hữu ích nếu trình đọc màn hình có thể tìm thấy các đường liên kết và văn bản liên kết có ý nghĩa. Ví dụ: dưới đây là một số mẫu phổ biến khiến việc tìm đường liên kết trở nên khó khăn.

  • Thẻ neo không có thuộc tính href. Thường được dùng trong các ứng dụng trang đơn, các đích liên kết này gây ra sự cố cho trình đọc màn hình. Bạn có thể đọc thêm trong bài viết này về ứng dụng một trang.
  • Các nút được triển khai bằng đường liên kết. Các điều này khiến trình đọc màn hình hiểu nội dung là một đường liên kết và chức năng của nút bị mất. Đối với các trường hợp này, hãy thay thế thẻ neo bằng một nút thực và tạo kiểu cho nút đó sao cho phù hợp.
  • Hình ảnh được dùng làm nội dung đường liên kết. Đôi khi, trình đọc màn hình không thể sử dụng các hình ảnh được liên kết khi cần. Để đảm bảo đường liên kết hiển thị đúng cách với công nghệ hỗ trợ, hãy đảm bảo hình ảnh có văn bản thuộc tính alt.

Văn bản liên kết không phù hợp cũng là một vấn đề khác. Văn bản có thể nhấp như "tìm hiểu thêm" hoặc "nhấp vào đây" không cung cấp thông tin ngữ nghĩa về nơi đường liên kết đến. Thay vào đó, hãy sử dụng văn bản mô tả như "tìm hiểu thêm về thiết kế thích ứng" hoặc "xem hướng dẫn về canvas này" để giúp trình đọc màn hình cung cấp ngữ cảnh có ý nghĩa về các đường liên kết.

Rotor cũng có thể truy xuất danh sách thành phần điều khiển biểu mẫu. Khi sử dụng danh sách này, người đọc có thể tìm kiếm các mục cụ thể và chuyển thẳng đến các mục đó.

Một lỗi thường gặp của trình đọc màn hình là phát âm. Ví dụ: trình đọc màn hình có thể phát âm "Udacity" là "oo-dacity", hoặc đọc một số điện thoại dưới dạng số nguyên lớn, hoặc đọc văn bản được viết hoa như thể đó là từ viết tắt. Điều thú vị là người dùng trình đọc màn hình đã quen với sự cố này và cân nhắc đến điều này.

Một số nhà phát triển cố gắng cải thiện tình huống này bằng cách cung cấp văn bản chỉ dành cho trình đọc màn hình được đánh vần theo âm vị học. Dưới đây là một quy tắc đơn giản về cách viết phiên âm: đừng làm như vậy; việc này chỉ khiến vấn đề trở nên tệ hơn! Chẳng hạn, nếu người dùng đang sử dụng màn hình chữ nổi, thì từ đó sẽ bị viết sai chính tả và khiến người dùng nhầm lẫn hơn. Trình đọc màn hình cho phép đọc to các từ, vì vậy, hãy để trình đọc kiểm soát trải nghiệm của họ và quyết định thời điểm cần thiết.

Người đọc có thể sử dụng con quay để xem danh sách địa danh. Danh sách này giúp người đọc tìm thấy nội dung chính và một nhóm các địa danh điều hướng do các phần tử dấu mốc HTML cung cấp.

HTML5 đã giới thiệu một số phần tử mới giúp xác định cấu trúc ngữ nghĩa của trang, bao gồm header, footer, nav, article, section, mainaside. Các phần tử này cụ thể cung cấp các gợi ý về cấu trúc trong trang mà không ép buộc bất kỳ kiểu nào tích hợp sẵn (bạn vẫn nên làm với CSS).

Các phần tử cấu trúc ngữ nghĩa thay thế nhiều khối div lặp lại và cung cấp cách rõ ràng hơn, mô tả hơn để thể hiện trực quan cấu trúc trang cho cả tác giả và người đọc.