aria-label gán label trực tiếp bằng string — dùng khi không có visible label. aria-labelledby reference đến id của element chứa label (có thể reference nhiều id cách nhau bởi space: aria-labelledby="title desc"). aria-describedby thêm mô tả bổ sung (hint text, error message). Thứ tự ưu tiên: aria-labelledby override aria-label. aria-describedby là thông tin phụ, đọc sau label.
Ví dụ kết hợp: <input aria-labelledby="field-label" aria-describedby="field-hint"> — screen reader sẽ đọc cả label lẫn hint.
aria-label assigns a label directly as a string — use when no visible label exists. aria-labelledby references the id of an element containing the label (multiple ids allowed, space-separated: aria-labelledby="title desc"). aria-describedby adds supplementary description (hint text, error messages). Priority: aria-labelledby overrides aria-label. aria-describedby is secondary, read after the label.
Combined example: <input aria-labelledby="field-label" aria-describedby="field-hint"> — screen reader reads both label and hint.