2009-02-18 38 views
7

Tôi có rất nhiều thẻ khoảng trống và cứ như vậy trong mã của tôi, do kỹ thuật thay thế hình ảnh CSS. Chúng kích hoạt cảnh báo xác thực HTML. Tôi có nên quan tâm?Thẻ HTML trống

Cảm ơn.

Trả lời

1

Cảnh báo không phải là lỗi. Đó chỉ là một lời nhắc nhở rằng bạn nên cải thiện điều gì đó.

+5

Nó chỉ là một lời nhắc nhở rằng bạn sẽ được cải thiện một cái gì đó. - Câu chuyện về cuộc sống của tôi;) –

10

Tôi đồng ý với @Gumbo, nhưng có rất nhiều cảnh báo không tạo ra sự khác biệt nào có thể che giấu những điều bạn cần lưu ý. Nếu bạn có thể đặt thứ gì đó trong khoảng thời gian để loại bỏ cảnh báo nhưng không phá vỡ giao diện người dùng của bạn, bạn nên ít nhất nghĩ đến việc thực hiện nó.

1

Tôi cho rằng nếu băng thông là một vấn đề, các thẻ trống đó có thể được xem lại để xem bạn có thể khiến chúng xuất hiện hoàn toàn không.

8

Bạn nên xem xét hành vi của trang đối với những thứ như trình đọc màn hình. Thông thường, thực sự đặt một vài từ mô tả hình ảnh trong thẻ sau đó được ẩn bởi hình ảnh thay thế.

Xem CSS Zen Garden nơi bạn có thể xem các ví dụ như khoảng thời gian H1 có văn bản được thay thế bằng CSS theo hình ảnh.

Điều này sẽ cải thiện không chỉ khả năng truy cập trang web của bạn mà còn cải thiện khả năng tìm kiếm.

9

Tôi đã xác thực một phần quy trình làm việc của mình vì nó giúp tôi nắm bắt các lỗi sớm. Và mặc dù tôi không coi các yếu tố trống là vấn đề, nó phủ nhận một số giá trị của việc sử dụng trình xác thực nếu tôi phải phân tích cú pháp một danh sách các cảnh báo mỗi lần và quyết định liệu cảnh báo có quan trọng hay không. Vì vậy, tôi cố gắng để giữ cho các trang của tôi cả lỗi và cảnh báo miễn phí để xem lướt qua chỉ HTML Validator icon in the Firefox status bar chỉ thay đổi khi có sự cố thực sự. Để kết thúc, tôi giữ cho các phần tử rỗng "thất nghiệp" bằng cách chèn một chú thích trống.

<span><!-- --></span> 

(Ít nhất làm việc với các validator Tidy.)

Bây giờ, điều đó đang được nói, tôi không nghĩ rằng đây là lúc tất cả cần thiết cho nhiều tình huống. Hoàn toàn hợp lý khi nghĩ rằng thêm tám ký tự phụ vào mã của bạn chỉ để tránh cảnh báo trình xác thực là vô lý. Nhưng nó làm việc cho tôi.

+0

Đó là một giải pháp tuyệt vời, cảm ơn! – Hikari

2

An "trống rỗng" thẻ có một định nghĩa rất cụ thể trong HTML:

<span/> 

so

<span></span> 

Các cựu không được phép bởi HTML 4.0 Strict DTD, vì vậy nên được đánh dấu bởi một validator. Các thẻ duy nhất có thể sử dụng cú pháp cũ là những thẻ được xác định cụ thể là "EMPTY" trong DTD (ví dụ: <br>).

Biểu mẫu thứ hai là HTML hợp lệ và không bị gắn cờ bởi W3C validator.

Vì vậy, tôi phải giả định rằng (1) trình xác thực của bạn bị hỏng hoặc (2) bạn đang sử dụng thẻ không chính xác.

0

Eric Meyer cũng nói rằng thẻ empy là xấu, ngữ nghĩa.

Cảnh báo không có nghĩa là sai, nhưng hãy nói điều đó có thể hoặc đôi khi nên tốt hơn.

Trong cùng một cách

if("value"==variable) 

là tốt hơn so với

if(variable=="value")