2010-11-16 32 views
6

Trang web của chúng tôi liên quan đến một số javascript tạo ra các cửa sổ phương thức lớp phủ.Cách đặt trọng tâm vào cửa sổ phương thức javascript?

Có một vấn đề trợ năng với điều này, mặc dù phương thức được kích hoạt, focus vẫn còn trên phần tử kích hoạt chứ không phải trên chính phương thức.

Các phương thức này có thể bao gồm tất cả các loại phần tử html, tiêu đề, đoạn văn và điều khiển biểu mẫu. Những gì tôi muốn là tập trung để bắt đầu trên phần tử đầu tiên trong phương thức, vì vậy rất có thể là một thẻ h4.

Tôi đã khám phá bằng cách sử dụng chức năng focus() tuy nhiên điều này không hoạt động với một số yếu tố html.

Một ý nghĩ là thêm một thẻ trống a vào cửa sổ có thể lấy tiêu điểm, nhưng tôi không chắc chắn về phương pháp này.

Trả lời

0

Bạn có thể nối thêm hộp văn bản vào đầu HTML phương thức, đặt tiêu điểm rồi ẩn hộp văn bản. Nên có hiệu quả mong muốn như xa như tôi hiểu nhu cầu của bạn.

+1

thats one way, mặc dù tôi không muốn thêm hộp văn bản trống trong mã, cả về khả năng truy cập và độ sạch của mã – user502014

+0

@ user502014 hộp văn bản sẽ không hiển thị để trợ năng không phải là vấn đề. Nếu bạn tìm thấy mã sạch hơn, hãy sử dụng nó, chỉ cần nhớ rằng bạn đã có "Gói B". –

4

rất muộn cho bữa tiệc, nhưng câu trả lời hiện tại không tôn trọng trợ năng.

W3C wiki page on accessible modals cung cấp thông tin chi tiết hơn những gì được hỏi trong OP, phần có liên quan là có tabindex=-1 trên vùng chứa phương thức (cũng phải có thuộc tính aria-dialog) để có thể nhận được :focus.

Đây là cách dễ tiếp cận nhất để tập trung vào phương thức, cũng có thêm tài liệu về cách giữ nó theo phương thức - và trả lại cho phần tử đã kích hoạt phương thức - khá nhiều điều được giải thích ở đây, vì vậy tôi đề nghị bất cứ ai quan tâm để kiểm tra các liên kết ở trên.

Các vấn đề liên quan