Broken HTML
This document demonstrates WebLight's HTML testing capabilities and why you should test HTML. The issue report demonstrates how WebLight reports the problems below.
Unrecognized Tags
Browsers typically ignore elements that they do not recognize so unknown tags in documents typically result in some sort of change of presentation.
Example:
Improper Element Nesting
HTML documents that are not structured correctly may not render predictably. Compare how the following code is rendered by Firefox 1.07, IE 5.2 for Mac and your browser.
Source
<table summary="Example table containing unexpected elements" border="1"> <tr> <td>Column 1 Row 1</td> <p><code>p</code> in row 1 between column 1 and 2</p> <td>Column 2 Row 1</td> <p><code>p</code> in row 1 after column 2</p> </tr> <p><code>p</code> element between row 1 and row 2</p> <tr> <td>Column 1 Row 2</td> <td>Column 2 Row 2</td> </tr> </table>
Firefox

Internet Exlorer 5.2 Mac

Your Browser
| Column 1 Row 1 | Column 2 Row 1 |
| Column 1 Row 2 | Column 2 Row 2 |
Unrecognized Attributes
Browsers typically ignore attributes that they don't recognize. You should be aware that if you use browser specific attributes, your documents will render differently when viewed with other browsers.
Example: stile="font-weight: bold;" should be style="font-weight: bold;"
Unrecognized Entities
HTML defines entities for some characters and symbols. Entities are referenced in HTML documents like &entity;. Browsers typically render entity references that they don't recognize as text.
Example: '&c;' &c; instead of '©' ©
It is important to understand that entities are expanded in attribute values (even if they are quoted). This combined with the fact that many CGI implementations use & as the parameter separator causes many problems. When a parameter name happens to be an HTML entity name the results are unpredictable.
Example: href=printreq.cgi?p=1©=2
should be href=printreq.cgi?p=1©=2