“This item may not have a label readable by screen readers”
Nếu gặp cảnh báo này, đây là vấn đề về khả năng truy cập trong ứng dụng code bằng Flutter, nên cân nhắc tất cả các thành phần giao diện người dùng đều được gắn nhãn cho trình đọc màn hình. Điều này rất quan trọng để giúp mọi người có thể sử dụng ứng dụng, kể cả những người dựa vào công nghệ hỗ trợ.
Flutter cung cấp nhiều cách để cải thiện khả năng truy cập, bao gồm việc sử dụng widget Semantics
để tạo trải nghiệm dễ tiếp cận hơn. Ta có thể wrap bất kỳ widget nào với widget Semantics
để cung cấp các nhãn cho trình đọc màn hình. Nhãn này là những gì một người dùng phụ thuộc vào công nghệ đọc màn hình (ví dụ người khiếm thị) họ sẽ nghe thay vì nhìn thấy.
Ví dụ đơn giản về cách sử dụng widget Semantics
để gán nhãn cho một nút:
Semantics(
label: 'Nút gửi',
child: ElevatedButton(
onPressed: () {
// Xử lý khi nhấn nút
},
child: Text('Gửi'),
),
)
Trong ví dụ này, widget Semantics
wrap nút ElevatedButton
. Thuộc tính label
được thiết lập là 'Nút gửi', đây là văn bản sẽ được máy đọc màn hình đọc lên.
Đối với những widget phức tạp hơn hoặc các phần tử giao diện người dùng tự tạo, ta cũng có thể cần thêm các thuộc tính ngữ nghĩa, như hint
, value
, hoặc increasedValue
và decreasedValue
cho các widget thay đổi giá trị. Nên kiểm tra ứng dụng với khả năng hỗ trợ tốt với trình đọc màn hình (như TalkBack trên Android hoặc VoiceOver trên iOS).
Việc làm cho ứng dụng của dễ tiếp cận không chỉ giúp ích cho người khuyết tật mà còn có thể cải thiện trải nghiệm người dùng tổng thể.
Bình luận gần đây