"Thay đổi ngữ cảnh" (change of context) theo WCAG là một trong bốn thứ: đổi user agent, đổi viewport, đổi focus, hoặc thay đổi nội dung làm đứt mạch trang. Đổi nội dung bình thường — mở accordion, lọc danh sách tại chỗ — không tính.
- 3.2.1 On Focus (A): chỉ nhận focus thôi thì không được gây thay đổi ngữ cảnh. Ví dụ trượt: Tab vào ô select rồi popup mở ra; focus vào input cuối cùng liền tự submit form.
- 3.2.2 On Input (A): đổi giá trị một control không được tự gây thay đổi ngữ cảnh, trừ khi đã báo trước cho người dùng.
Trả lời câu <select> tự submit: có, vi phạm 3.2.2 nếu không báo trước. Người dùng bàn phím duyệt option bằng phím mũi tên trong nhiều trình duyệt, mỗi lần mũi tên là một lần change — trang nhảy đi ngay ở option đầu tiên và họ không bao giờ chạm được tới option thứ ba.
<!-- trượt -->
<select onchange="location = this.value">…</select>
<!-- đạt: hành động do người dùng chủ động kích hoạt -->
<label for="sort">Sắp xếp theo</label>
<select id="sort" name="sort">…</select>
<button type="submit">Áp dụng</button>Vẫn được tự động nếu báo trước tử tế: ghi rõ ngay cạnh control ("Chọn tỉnh sẽ tải lại danh sách quận"), đặt trước control chứ không phải sau. Lọc lại danh sách ngay trên trang mà không dời focus thì không phải thay đổi ngữ cảnh — vẫn nên báo qua vùng aria-live.
Ca thường gặp khác: ô OTP tự nhảy focus sang ô kế khi gõ đủ ký tự. Cái này không bị 3.2.2 cấm vì đúng kỳ vọng của người dùng, nhưng phải làm cho Backspace quay lại được ô trước — nếu không thì thành trap kiểu khác.