2010-04-08 17 views
7

Dịch vụ & Sản phẩmĐiều gì được ưu tiên sử dụng trong văn bản thay thế "&" hoặc "&" cho người dùng trình đọc màn hình?

hoặc

Dịch vụ & Sản phẩm

Cập nhật:

Làm thế nào phổ biến trình đọc màn hình và văn bản chỉ trình duyệt sẽ xử lý &?

+0

Tất cả các tham chiếu thực thể đã biết sẽ được thay thế bằng văn bản mà chúng đại diện. Vì vậy, '& 'đang được thay thế bằng' & 'mà sau đó được thay thế bằng ký tự' & 'nó đại diện. Vì vậy, '& 'trong HTML được hiển thị dưới dạng' & '. – Gumbo

Trả lời

6

Trình đọc màn hình sẽ đọc "&" dưới dạng "và" và trình duyệt chỉ có văn bản sẽ hiển thị dưới dạng "&".

Lý do bạn viết & là do "&" là ký tự đặc biệt trong XHTML và phải được thoát. Bất kỳ trình duyệt/trình đọc màn hình nào hiểu XHTML đều biết rằng & là ký hiệu thoát ('&') và sẽ hiển thị như vậy hoặc đọc to như "và".

Nếu bạn đang viết một tài liệu XHTML, nó không phải là một trường hợp như thế nào để làm cho alt-text của bạn thân thiện hơn với đọc màn hình - bạn phải thay ampersands trần với & hoặc rủi ro tài liệu của bạn không xác nhận và có khả năng hiển thị không chính xác.

3

Bạn phải escape the plain & with a character reference như & để có một tài liệu XHTML hợp lệ:

Nhân vật dấu và (&) [...] có thể xuất hiện dưới hình thức văn chương của họ chỉ khi được sử dụng như delimiters đánh dấu, hoặc trong một bình luận , hướng dẫn xử lý hoặc phần CDATA. Nếu họ là cần thiết ở những nơi khác, họ phải được thoát ra bằng cách sử dụng tài liệu tham khảo nhân vật số hoặc chuỗi "&" [...]

6

Trong HTML - nó không quan trọng (kể từ dấu và được theo sau bởi một dấu cách).

Trong XHTML - & là lỗi có cấu trúc tốt và hoàn toàn không được chấp nhận.

+0

nhưng cách trình đọc màn hình sẽ đọc '&' này? –

+0

Nó sẽ không. Trình duyệt sẽ phân tích cú pháp HTML hoặc XHTML và tạo một DOM mà nó sẽ hiển thị. Trình đọc màn hình sau đó sẽ đọc nội dung trên màn hình với các gợi ý từ trình duyệt. – Quentin

+2

Theo quy tắc chung - hãy viết HTML tốt và không mong đợi trình đọc màn hình yêu cầu bạn mắc lỗi. – Quentin

0

Luôn thoát ký tự dấu và bằng mã hóa ký tự thích hợp. Trong HTML, nó là & amp; hoặc & # 38 ;. Trong URI, nó là% 26 và không phải là một trong hai số trước đó. Không phải ký tự cú pháp thoát sẽ khiến XML thất bại. Nếu HTML của bạn đã từng được tích hợp hoặc diễn giải bởi một công cụ XML, mã của bạn sẽ bị hỏng.

+0

Mã thích hợp cho '&' là '% 26' và không phải'% 38'. Và lưu ý rằng 'href =" foo% 26bar "' khác với 'href =" foo & thanh "' như khai báo giá trị cũ sẽ được đánh giá thành 'foo% 26bar' trong khi cái sau sẽ được đánh giá thành' foo & bar'. – Gumbo

+0

Bạn đúng rằng thoát URI chính xác cho dấu và là% 26, nhưng href = "thanh thực phẩm &" là cú pháp URI không hợp lệ. Lối thoát mà bạn đề cập đến là kết quả của quá trình tiền xử lý từ một ứng dụng tác nhân người dùng chứ không phải là một sự xem xét cho chính URI. Đây là lý do tại sao mọi người thường thoát khỏi các ký tự trong URI một cách sai lầm. –

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