Checker tests

From Internationalization

These are tests for the i18n checker.

To run a test, pick up the URI from the links shown for each format and drop that URI into the address field of the checker.

The information for each test is as follows:

  • Brief title for the test
  • Things to check for (pass criteria). Italicised items in the information panel are between [square brackets]. Other italicised items are reports that should appear in the lower section of the checker. At the end of a line with italicisation you should see any value to look for, or information about what formats this is relevant for. Only relevant criteria are mentioned (eg. when testing character encoding, information or reports about language declarations are ignored).
  • A set of links. Each test has links for a number of formats.
  • Problems noted during the testing. (Usually for the dev.w3.org version, but sometimes also notes about the validator.w3.org version.) A problem that applies to multiple tests (eg. xml declaration text missing) is usually mentioned only once.

xhtml means XHTML 1.0 served as text/html; xhtmlx means xhtml1.0 served as application/xhtml+xml; xhtml11 means XHTML 1.1 served as application/xhtml+xml.

The tests have not been checked yet for XHTML5.


Things to Do

Bugs

  • BBC is using xhtml5 (XHTML + RDFa), but we are treating as html (picking up this kind of thing so late is why it would be good to see the source ;-) )
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://opengraphprotocol.org/schema/" xml:lang="en-GB">

http://qa-dev.w3.org/i18n-checker-test/check?uri=www.w3.org%2F2007%2F11%2FTalks%2Fsearch%2Fquery%3Fdate%3D2011

Warning: DOMDocument::createElementNS(): Namespace Error in /home/rishida/i18n-checker/lib/html5lib/TreeBuilder.php on line 3040 
Fatal error: Call to a member function hasAttribute() on a non-object in /home/rishida/i18n-checker/lib/html5lib/TreeBuilder.php 
on line 3044

http://qa-dev.w3.org/i18n-checker-test/check?uri=www.cio.com.au%2Farticle%2F392397%2

http://qa-dev.w3.org/i18n-checker-test/check?uri=www.stripes.com%2Fnews%2Fnavy%2Fjapanese-korean-4-others-cut-from-navy-foreign-language-pay-list-1.148150

  • getting quite a lot of pages that can't be checked - wondering how the html validator gets through
  • wondering whether we should treat pages without a doctype as html5
  • http://www.forbesmiddleeast.com/arabic/ gives error "Warning: DOMDocument::createElementNS(): Namespace Error in /home/rishida/i18n-checker/lib/html5lib/TreeBuilder.php on line 3040 Fatal error: Call to a member function hasAttribute() on a non-object in /home/rishida/i18n-checker/lib/html5lib/TreeBuilder.php on line 3044"

Important before public release

  • TG implement more convenient methods in Parser (e.g. isHTML() like methods)
  • TG enable test harness to test severity
  • TG unify xml:lang and lang attributes in the information table while retaining a way to differentiate in the code
  • TG improvements of the test framework wrt fake file upload tests
  • TG add UI selection of mimetype for file upload method
  • TG implement $charsetIsHttpEquiv variable in Parser to aid in distinguishing mail
  • TG go through this wiki to fix bugs
  • RI finish adding severity & tags to test framework
  • RI create test framework for file upload
  • RI add more utf16 tests
  • add styling to About page
  • RI write "you should validate first" warning to be displayed if parsing fails
  • TG make it possible to view the non-nfc tests in the harness
  • TG fix IE8 errors
  • TG fix problem with table in Opera
  • fix UI issues below
  • fix IDN decode issue
  • RI/TG test on other browsers and platforms
T: Windows7: Opera 11.50, Chromium 14, Firefox 5, IE9, all good
RI: Mac: Firefox 4, Chrome 12.0.742.112, Safari 5.0.5, ok
RI: Mac: Opera 11.11, Camino 2.0.7: problem with table
RI: WindowsXP: IE8, script errors, disturbingly shaky 'smooth' open of report detail
RI: WindowsXP: Firefox 5.0, Safari 5.05, Chrome 12.0.742.112, Opera 11.01: all ok
RI: HTC browser, ok
  • TG temporarily remove language selection
  • RI, run upload tests and fix anything that needs it
  • RI, warning message if no doctype is declared. Need to decide if treated as HTML or HTML5.
  • RI, warning message if first pass at parsing failed and the document has been tidied.
  • fix test harness for UTF-16 charset, non-UTF-16 encoding
  • TG implement correct announcement of doctype (eg. xhtml+rdfa)
  • RI provide text for call for feedback
  • RI adapt a few messages
  • RI move the updated checker to validator.w3.org !

Nice

  • TG remove "a." from single item lists in reports

Later

  • RI add XHTML5 and polyglot checks and tests
  • RI add language autodetection and compare with declarations
  • TG internationalize About page
  • TG integrate with Unicorn
  • RI fix the text of the reports, regenerate non-English versions, send for translation
  • RI validate language tags and check well-formedness properly using the check function of http://rishida.net/utils/subtags/
  • add an option to show the source code
  • add line numbers for code snippets (eg. i tags found) ?
  • have a switch to remove <?php ... ?> before checking
  • add tags check to test harness
  • TG resolve ambiguity about what 'value' represents in the code
  • see if Opera provide a fix for the table bug on Mac
  • allow exclusion of certain reports https://lists.w3.org/Archives/Team/w3t-archive/2011Jul/0144.html

Parking lot for Checks to add in the future

  • utf-8 bom overrides other declarations
  • incorrect ncr for euro, or other C2 codes
  • use of entities in xml
  • write report: HTTP header information doesn't match language attributes on html - say this may be ok, if using http for metadata, but it's possible that the html language attributes are incorrectly set, so check that - create a test to go with it - the report should be triggered if either lang or xml:lang are present (or both)
  • avoid HTML attributes with values of right and left
  • if the page is in Arabic, Hebrew, Urdu, Persian, Thaana, check that it starts with dir on html or body
  • check encoding supports logical order for Hebrew
  • check for bidi control characters in places where markup would do
  • check for over-use of dir
  • check for white-space at the end of elements indicating a change in direction
  • if language attributes on body but not html tags
  • if language tags have hyphens, check that that is appropriate, but exclude some common usage, such as en-GB, fr-CA, etc
  • if zh-CN, zh-TW etc are used, suggest zh-Hans and zh-Hant
  • check for hreflang
  • test for lang=""

UI issues

  • in IE8 there is no grey background on the report headers
  • in IE8 the Non-NFC class or id names orange is not a number, as it is in Firefox
  • "<html> lang attribute" and "<html> xml:lang attribute" lines in info to be merged, with title "Html tag"
  • Upper case the m in "meta tag" info line
  • for "Default direction" info line, take the orange away from the default result
  • The About page needs styling
  • Make the noissues background colour brighter
  • add border-radius to orange bits and no-issues banner
  • "The file upload feature is still experimental and not fully tested. Results should be considered with care." - how true is this? Removed
  • in file upload, running check clears the Local File field
  • in file upload, running without a Local File named causes a PHP error, "Warning: file_get_contents(): Filename cannot be empty in /home/rishida/i18n-checker/src/class.Net.php on line 119 " - should produce an error msg in the app
  • when you switch from file upload view to by uri, should the yellow background warnings go away?
  • we should put a "Beta" sticker on the UI and maybe make it easier to send feedback
  • RI: create markup and styling for keywords such as element/attribute names in report text
  • add a panel to the checker entry page about formats and mime-types
  • RI: point out the difference between serving as xml and html, somewhere prominent

Character encoding

HTTP Content Type

[HTTP Content-Type] iso-8859-15
no other encoding info
Encoding declared only in HTTP rep_charset_no_in_doc
Non-UTF8 character encoding declared rep_charset_no_utf8

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • HTTP Content-type field should appear above BOM field in info table
  • charset in orange should be same case as in code
  • xml decl and meta charset fields missing for html and html5 tests, etc. All fields should be shown all the time. (goes for all tests) @@@T: I added the xml decl field but I tend to disagree because it may feel like an xml declaration could be expected for non xml documents. Regarding the meta charset field there's actually only one for both types of meta tags; only the title of the field changes depending on whether it is an HTML or HTML5 document. In any case both types are detected in all documents. My suggestion would be to use a generic title for this field (is 'meta tags'). If i need to change back to two separate fields, several parts of the code will have to be adapted so for now i leave it like that until we discuss it more.
  • xml decl field says [charset_val_none] @@@T: Also fixed the missing xml declaration code.
  • info bar doesn't distinguish between XHTML 1.0 and XHTML 1.1
  • change title of rep_charset_no_in_doc to Encoding declared only in HTTP

UTF8 Byte-order mark

[Byte-order mark] utf-8
no other encoding info
UTF-8 BOM found at start of file rep_charset_bom_found
No visible in-document encoding specified rep_no_visible_charset

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • add warning No visible in-document encoding specified

UTF16LE Byte-order mark

[Byte-order mark] UTF-16LE
no other encoding info
No visible in-document encoding specified (html, xhtmlh, xhtmlx, xhtml11) rep_no_visible_charset
Non-UTF8 character encoding declared rep_charset_no_utf8

HTML 
HTML5 
XHTML 1.0 
XHTML 1.0 (xml) 

Problems:

  • the Code field has a superfluous "Byte-order mark: UTF-16LE"
  • add warning No visible in-document encoding specified
  • the report "Non-UTF8 characer encoding declared" produces no code in the second line.
  • html5 test doesn't produce "no visible" report - correct! because html5 with utf16 doesn't allow for visible in-doc decls
  • add new test locations to test framework
  • RI "Non-utf8 character encoding declared" report says that this is not a Unicode encoding - we need a special condition for UTF-16

UTF16BE Byte-order mark

[Byte-order mark] UTF-16BE
no other encoding info
No visible in-document encoding specified (html, xhtmlh, xhtmlx, xhtml11) rep_no_visible_charset
Non-UTF8 character encoding declared rep_charset_no_utf8

HTML 
HTML5 
XHTML 1.0 
XHTML 1.0 (xml) 


Problems:

  • the Code field has a superfluous "Byte-order mark: UTF-16BE"
  • add warning No visible in-document encoding specified
  • the report "Non-UTF8 characer encoding declared" produces no code in the second line.
  • html5 test doesn't produce "no visible" report
  • add new test locations to test framework

XML declaration only

[XML declaration] iso-8859-15
no other encoding info
XML declaration used. (html, html5) rep_charset_xml_decl_used
No effective character encoding information (html,html5,xhtml) rep_no_effective_charset
XML declaration used. (xhtml) rep_charset_xml_decl_used
Non-UTF8 character encoding declared rep_charset_no_utf8

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • XML declaration field not shown for html test
  • report "Non-UTF8 character encoding declared" not shown for HTML
  • add new reports
  • check that "no effective..." is warning in test framework
  • same for "no visible.." for xhtml

XML declaration, no encoding

no encoding info
No character encoding information. (html,html5,xhtml) rep_charset_none
No in-document encoding declaration found (xhtmlx,xhtml11) rep_no_encoding_xml

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • none

Content-Type meta only, utf-8

[meta tag] utf-8
no other encoding info
Meta encoding declarations don't work with XML (xhtmlx, xhtml11) rep_meta_ineffective

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • add report: "Meta encoding declarations don't work with XML"
  • warning/error "Incorrect use of meta encoding declarations" appearing with xhtml, xhtmlx (but not xhtmlx11)

Content-Type meta only, non-utf8

[meta tag] iso-8859-15
no other encoding info
Incorrect use of meta encoding declaration (xhtmlX, xhtml11) rep_incorrect_use_meta
Incorrect use of meta encoding declaration (xhtml) rep_incorrect_use_meta
Meta encoding declarations don't work with XML (xhtmlx,xhtml11) rep_meta_ineffective
Non-UTF8 character encoding declared rep_charset_no_utf8

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • incorrect report "No character encoding information" shown for HTML5
  • "Non-UTF8 character encoding declared" not shown for HTML5
  • meta tag line not shown for all xml, and 'No character encoding information' report showing
  • add report: "Incorrect use of meta encoding declaration" (xhtmlH, xhtmlX, xhtml11)
  • "incorrect use.." doesn't appear with xhtmlx11

HTML5 meta charset only, utf8

[meta tag] uft-8
no other encoding info
Meta charset tag will cause validation to fail (html,xhtml,xhtmlX,xhtml11) rep_meta_charset_invalid
Meta encoding declarations don't work with XML (xhtmlX, xhtml11) rep_meta_ineffective

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • add report: "Meta encoding declarations don't work with XML" [rep_meta_ineffective]
  • add report: "Meta charset tag will cause validation to fail" rep_meta_charset_html4]
  • "Incorrect use of meta encoding declarations" appears on xhtml, xhtmlx (but not xhtml11)

HTML5 meta charset only, not utf8

[meta tag] iso-8859-15
no other encoding info
Incorrect use of meta encoding declaration (xhtmlX, xhtml11) rep_incorrect_use_meta
Incorrect use of meta encoding declaration (xhtmlH) rep_incorrect_use_meta
Meta charset tag will cause validation to fail (html,xhtml,xhtmlX,xhtml11) rep_meta_charset_invalid
Meta encoding declarations don't work with XML (xhtmlX, xhtml11) rep_meta_ineffective
Non-UTF8 character encoding declared rep_charset_no_utf8

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • HTML and XHTML tests shows value for Content-Type meta tag field @@@T: It was the behavior of the parser to add it if absent. Fixed.
  • HTML5 test shows "None found"
  • incorrect report "No character encoding information" shown for HTML5
  • "Non-UTF8 character encoding declared" not shown for HTML5
  • meta tag line not shown for any XML format
  • add report: "Incorrect use of meta encoding declaration" [rep_incorrect_use_meta]
  • add report: "Meta charset tag will cause validation to fail" rep_meta_charset_html4
  • "incorrect use..." missing for xhtml11

No encoding

no encoding info
No character encoding information (html,html5,xhtml) rep_charset_none
No in-document encoding declaration found (xhtml:xml,xhtml11:xml) rep_no_encoding_xml

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • meta tag line is shown for all xml formats - the meta tag is non-functional for xml formats, so it should perhaps be hidden here (note that this is the opposite problem to the two previous tests, where meta info was in the code but not shown for xml formats)
  • add report: No in-document encoding declaration found
  • "no character encoding.." still appears on xml tests

Conflicting encoding declarations: HTTP vs BOM

[HTTP Content-Type] iso-8859-15
[Byte order mark (BOM)] UTF-8
no other encoding info
Conflicting character encoding declarations rep_charset_conflict
No visible in-document encoding specified rep_no_visible_charset
UTF-8 BOM found at start of file rep_charset_bom_found
Non-UTF8 character encoding declared rep_charset_no_utf8


HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • add report: No visible in-document encoding specified

Conflicting encoding declarations: HTTP vs UTF-16LE BOM

[HTTP Content-Type] iso-8859-1
[Byte order mark (BOM)] UTF-16LE
no other encoding info
Conflicting character encoding declarations rep_charset_conflict
Non-UTF8 character encoding declared rep_charset_no_utf8

HTML   
HTML5   
XHTML   
XHTML (xml)   


Problems:

  • add report: No visible in-document encoding specified should be done, but tests needed
  • change test location in test framework

Conflicting encoding declarations: HTTP vs XML declaration

[HTTP Content-Type] iso-8859-15
[XML declaration] utf-8
no other encoding info
Conflicting character encoding declarations rep_charset_conflict
XML declaration used. (html, html5) rep_charset_xml_decl_used
XML declaration used. (xhtml) rep_charset_xml_decl_used
Non-UTF8 character encoding declared rep_charset_no_utf8

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • xml declaration not shown for html
  • Conflicting character encoding declarations report missing for html
  • add new report: XML declaration used

Conflicting encoding declarations: HTTP vs meta Content-Type

[HTTP Content-Type] iso-8859-15
[Meta tag] iso-8859-1
no other encoding info
Conflicting character encoding declarations rep_charset_conflict
Non-UTF8 character encoding declared (2 tags) rep_charset_no_utf8
Meta encoding declarations don't work with XML (xhtmlx, xhtml11) rep_meta_ineffective

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • html5 shows 8859-1 value for HMTL5 meta charset @@@T: naming issue of the field. We either use a generic name or separate in two fields (see previous comments)
  • Conflicting character encoding declarations report missing for html5
  • meta tag line missing for xml formats - leading to missing report of conflict
  • add report: Meta encoding declarations don't work with XML
  • "Meta charset tag will cause validation to fail" appears in html,xhtml,xhtmlx,xhtml11

Conflicting encoding declarations: HTTP vs HTML5 meta

[HTTP Content-Type] iso-8859-15
[Meta tag] iso-8859-1
no other encoding info

Conflicting character encoding declarations rep_charset_conflict
Meta charset tag will cause validation to fail (html,xhtml,xhtmlX,xhtml11) rep_meta_charset_invalid
Non-UTF8 character encoding declared (2 tags) rep_charset_no_utf8
Meta encoding declarations don't work with XML (xhtmlx, xhtml11) rep_meta_ineffective

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • html & xhtml shows 8859-1 value for content-type meta tag T: meta tag fields are unified now
  • html5 shows None Found for meta charset
  • Conflicting character encoding declarations report missing for html5
  • meta tag line missing for xml formats - leading to missing report of conflict
  • add report: Meta encoding declarations don't work with XML
  • add report: Meta charset tag will cause validation to fail

Conflicting encoding declarations: UTF-8 BOM vs XML declaration

[Byte order mark (BOM)] UTF-8
[XML declaration] iso-8859-15
no other encoding info
Conflicting character encoding declarations rep_charset_conflict
XML declaration used. (html, html5) rep_charset_xml_decl_used
XML declaration used. (xhtml) rep_charset_xml_decl_used
UTF-8 BOM found at start of file rep_charset_bom_found
Non-UTF8 character encoding declared rep_charset_no_utf8

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • Conflicting character encoding report doesn't show BOM
  • add report: XML declaration used

Conflicting encoding declarations: UTF-8 BOM vs meta Content-Type

[Byte order mark (BOM)] UTF-8
[Meta tag] iso-8859-15
no other encoding info
Conflicting character encoding declarations rep_charset_conflict
UTF-8 BOM found at start of file rep_charset_bom_found
Non-UTF8 character encoding declared rep_charset_no_utf8
Meta encoding declarations don't work with XML (xhtml:xml, xhtml11:xml) rep_meta_ineffective

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • html5 shows 8859-15 value for html5 meta charset
  • html5 shows None Found for meta charset
  • Conflicting character encoding declarations report missing for html5
  • Conflicting character encoding report doesn't show BOM
  • meta tag line missing for xml formats - leading to missing report of conflict
  • add report: Meta encoding declarations don't work with XML

Conflicting encoding declarations: UTF-8 BOM vs HTML5 meta charset

[Byte order mark (BOM)] UTF-8
[Meta tag] iso-8859-15
no other encoding info
Conflicting character encoding declarations rep_charset_conflict
UTF-8 BOM found at start of file rep_charset_bom_found
Meta charset tag will cause validation to fail (html,xhtml,xhtml:xml,xhtml11:xml) rep_meta_charset_invalid
Non-UTF8 character encoding declared rep_charset_no_utf8
Meta encoding declarations don't work with XML (xhtml:xml, xhtml11:xml) rep_meta_ineffective

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • html and xhtml shows 8859-15 value for Content-Type meta tag
  • html5 shows None Found for meta charset and doesn't show 8859-15 value at all
  • Conflicting character encoding declarations & Non-UTF8 character encoding declared reports missing for html5
  • Conflicting character encoding report doesn't show BOM
  • meta tag line missing for xml formats - leading to missing report of conflict
  • add report: Meta encoding declarations don't work with XML
  • add report: Meta charset tag will cause validation to fail

Conflicting encoding declarations: XML declaration vs meta Content-Type

[XML declaration] iso-8859-15
[Meta tag] iso-8859-1 (with CT meta in code)
no other encoding info
Conflicting character encoding declarations rep_charset_conflict
XML declaration used. (html, html5) rep_charset_xml_decl_used
XML declaration used. (xhtmlH) rep_charset_xml_decl_used
Non-UTF8 character encoding declared rep_charset_no_utf8
Meta encoding declarations don't work with XML (xhtml:xml, xhtml11:xml) rep_meta_ineffective

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • html & html5: xml declaration not shown at all
  • html5 shows None Found for meta charset
  • Conflicting character encoding declarations & Non-UTF8 character encoding declared reports missing for html & html5
  • html5 shows No character encoding information report
  • meta tag result not shown for xml, and conflict report missing
  • add missing reports

Conflicting encoding declarations: XML declaration vs meta charset

[XML declaration] iso-8859-15
[Meta tag] iso-8859-1 (with meta charset in code)
no other encoding info
Conflicting character encoding declarations rep_charset_conflict
XML declaration used. (html, html5) rep_charset_xml_decl_used
XML declaration used. (xhtml) rep_charset_xml_decl_used
Meta charset tag will cause validation to fail (html,xhtml,xhtmlx,xhtml11) rep_meta_charset_invalid
Meta encoding declarations don't work with XML (xhtmlx, xhtml11) rep_meta_ineffective
Non-UTF8 character encoding declared rep_charset_no_utf8

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • html shows 885901 as content-type meta, no mention of html5 meta charset or xml decl, no conflicting encodings report
  • html5 shows None Found for meta charset, no mention of xml decl, no conflicting encodings report
  • meta tag line not shown for xml, conflicting encodings report missing
  • add missing reports


Conflicting encoding declarations: meta Content-Type, then HTML5 meta

[Meta tag] iso-8859-15 iso-8859-1 (meta ct then meta charset in code)
no other encoding info
Conflicting character encoding declarations (2 tags) rep_charset_conflict
Multiple encoding declarations using the meta tag (2 tags) rep_charset_multiple_meta
Meta charset tag will cause validation to fail (1 tag) (html,xhtml,xhtmlx,xhtml11) rep_meta_charset_invalid
Incorrect use of meta encoding declaration (2 tags) (xhtml) rep_incorrect_use_meta
Incorrect use of meta encoding declaration (2 tags) (xhtmlx,xhtml11) rep_incorrect_use_meta
Non-UTF8 character encoding declared (2 tags) rep_charset_no_utf8
Meta encoding declarations don't work with XML (2 tags) (xhtmlx, xhtml11) rep_meta_ineffective

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • html & xhtml: content-type meta tag field shows both values! @@@T: see comment before
  • html5: shows 8850-15 for meta charset, no mention of content-type meta, only report is No character encoding information
  • meta tag line not shown for xml, and conflicting encoding report missing
  • add new reports

Conflicting encoding declarations: HTML5 meta, then meta Content-Type

[Meta tag] iso-8859-15 iso-8859-1 (meta charset then meta CT in code)
no other encoding info
Conflicting character encoding declarations (2 tags) rep_charset_conflict
Multiple encoding declarations using the meta tag (2 tags) rep_charset_multiple_meta
Incorrect use of meta encoding declaration (2 tags) (xhtmlx,xhtml11) rep_incorrect_use_meta
Meta charset tag will cause validation to fail (1 tag) (html,xhtml,xhtmlx,xhtml11) rep_meta_charset_invalid
Incorrect use of meta encoding declaration (2 tags) (xhtml) rep_incorrect_use_meta
Non-UTF8 character encoding declared (2 tags) rep_charset_no_utf8
Meta encoding declarations don't work with XML (xhtmlx,xhtml11) rep_meta_ineffective

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • same problems as previous test
  • meta tag line not shown for xml, and conflicting encoding report missing
  • add new reports

Multiple pragmas

[Meta tag] utf-8 utf-8 iso-8859-1
no other encoding info
Conflicting character encoding declarations (3 tags) rep_charset_conflict
Multiple encoding declarations using the meta tag (3 tags) rep_charset_multiple_meta
Non-UTF8 character encoding declared (1 tag) rep_charset_no_utf8
Meta encoding declarations don't work with XML (3 tags) (xhtmlx,xhtml11) rep_meta_ineffective

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • Only one tag listed in report.
  • Both tags listed in info (should be first one only). @@@T: why?
  • Fails in html5.
  • no meta tag line for xml, and no conflicting encodings report
  • RI add report: don't need meta for xml

Multiple charset metas

[Meta tag] utf-8 utf-8 iso-8859-1
no other encoding info
Conflicting character encoding declarations (3 tags) rep_charset_conflict
Multiple encoding declarations using the meta tag (3 tags) rep_charset_multiple_meta
Meta charset tag will cause validation to fail (1 tag) (html,xhtml,xhtmlx,xhtml11) rep_meta_charset_invalid
Non-UTF8 character encoding declared (1 tag) rep_charset_no_utf8
Meta encoding declarations don't work with XML (xhtmlx,xhtml11) rep_meta_ineffective

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)

Problems:

  • Only one tag listed in report. Both tags listed in info (should be first one only).
  • Fails on html5.
  • no meta tag line for xml, and no conflicting encodings report
  • add new reports

BOM in content

BOM found in content rep_charset_bom_in_content

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • No report.


Meta pragma in UTF-16 page

[Byte order mark (BOM)] utf-16
[Meta tag] utf-16

Conflicting character encoding declarations (2 tags) rep_charset_conflict
Meta character encoding declaration used in UTF-16 page (html5) rep_charset_utf16_meta
Non-UTF8 character encoding declared (2 tags) rep_charset_no_utf8

HTML4   
HTML5  

Meta charset in UTF-16 page

[Byte order mark (BOM)] utf-16
[Meta tag] utf-16

Conflicting character encoding declarations (2 tags) rep_charset_conflict
Meta character encoding declaration used in UTF-16 page (html5) rep_charset_utf16_meta
Meta charset tag will cause validation to fail (1 tag) (html,xhtml,xhtmlx,xhtml11) rep_meta_charset_invalid
Non-UTF8 character encoding declared (2 tags) rep_charset_no_utf8

HTML4   
HTML5  


UTF-16 pragma, non-UTF-16 encoding

[Meta tag] utf-16

UTF-16 encoding declaration in a non-UTF-16 document rep_charset_bogus_utf16
Non-UTF8 character encoding declared rep_charset_no_utf8
Meta encoding declarations don't work with XML (xhtmlx, xhtml11) rep_meta_ineffective

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)

UTF-16 charset, non-UTF-16 encoding

[Meta tag] utf-16

UTF-16 encoding declaration in a non-UTF-16 document rep_charset_bogus_utf16
Meta charset tag will cause validation to fail (html,xhtml,xhtmlx,xhtml11) rep_meta_charset_invalid
Non-UTF8 character encoding declared rep_charset_no_utf8
Meta encoding declarations don't work with XML (xhtmlx, xhtml11) rep_meta_ineffective

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)

UTF16LE declarations

[HTTP Content-Type] UTF-16le
[Byte order mark (BOM)] UTF-16LE
[Meta tag] UTF-16LE

UTF-16LE or UTF-16BE found in a character encoding declaration rep_charset_utf16le-be
Non-UTF8 character encoding declared rep_charset_no_utf8

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)  


Meta pragma not within 1024 bytes

[Meta tag] UTF-8

Meta character encoding declaration not within 1024 bytes of the file start (html5) rep_charset_1024_limit
Meta encoding declarations don't work with XML (xhtmlx,xhtml11) rep_meta_ineffective

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)

Meta charset not within 1024 bytes

[Meta tag] UTF-8

Meta character encoding declaration not within 1024 bytes of the file start (html5) rep_charset_1024_limit
Meta charset tag will cause validation to fail (html,xhtml,xhtmlx,xhtml11) rep_meta_charset_invalid
Meta encoding declarations don't work with XML (xhtmlx,xhtml11) rep_meta_ineffective

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


charset attribute on a element

charset attribute used on a or link elements (html5) rep_charset_charset_attr
charset attribute used on a or link elements (html,xhtml,xhtmlx,xhtml11) rep_charset_charset_attr

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)

charset attribute on link element

charset attribute used on a or link elements (html5) rep_charset_charset_attr
charset attribute used on a or link elements (html,xhtml,xhtmlx,xhtml11) rep_charset_charset_attr

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)

charset attribute on a and link elements

charset attribute used on a or link elements (html5) rep_charset_charset_attr
charset attribute used on a or link elements (html,xhtml,xhtmlx,xhtml11) rep_charset_charset_attr

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)

Language declarations

lang attribute in html tag

[html tag] ko
no other language info
A tag uses a lang attribute without an associated xml:lang attribute (xhtmlX,xhtml1) rep_lang_missing_xml_attr
A tag uses a lang attribute without an associated xml:lang attribute (xhtml) rep_lang_missing_xml_attr
The language declaration in the html tag will have no effect (xhtmlx,xhtml1) rep_html_no_effective_lang

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • xhtml: code for <html> lang attribute is <html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko">
  • line for content-language meta tag should not be shown by default for any format - only if it contains a value
  • xhtml as text/html should not show "The html tag has no language attribute", but should show "A tag uses a lang attribute without an associated xml:lang attribute." report
  • given the logic we applied to the meta tag line, we should now apply the same logic to the Language section and combine [<html> lang attribute] and [<html> xml:lang attribute] into a single line called [html tag]. I think we should show values for both lang and xml:lang if they differ, but only a single value if they are the same. (The code column will capture both attributes anyway, since it shows the whole tag.) The reports will indicate whether we have the right combinations for a particular format.
  • apply proposed rewording to report "A tag uses a lang attribute without an associated xml:lang attribute"
  • add new report
  • for "A tag uses a lang attribute without an associated xml:lang attribute" created different wording for XML

lang without xml:lang in body

This HTML file contains xml:lang attributes. (1 tag) (html) rep_lang_xml_attr_in_html
A tag uses a lang attribute without an associated xml:lang attribute (2 tags) (xhtmlx,xhtml1) rep_lang_missing_xml_attr
A tag uses a lang attribute without an associated xml:lang attribute (2 tags) (xhtml) rep_lang_missing_xml_attr

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • no reports
  • validator.w3.org version incorrectly doesn't detect for xhtml as xml
  • "A tag uses a lang attribute without an associated xml:lang attribute" should appear as an ERROR for xhtmlX and xhtml11
  • html5 should not report "This HTML file contains xml:lang attributes"

xml:lang attribute in html tag

[html tag] ko
no other language info
This HTML file contains xml:lang attributes (html) rep_lang_xml_attr_in_html
A tag uses an xml:lang attribute without an associated lang attribute (html5) rep_lang_missing_html_attr
A tag uses an xml:lang attribute without an associated lang attribute (xhtml) rep_lang_missing_html_attr
The language declaration in the html tag will have no effect (html,html5,xhtml) rep_html_no_effective_lang

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • no reports
  • xhtml: code for <html> lang attribute is <html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko">
  • produce the reports listed above

xml:lang without lang in body

This HTML file contains xml:lang attributes (3 tags) (html) rep_lang_xml_attr_in_html
A tag uses an xml:lang attribute without an associated lang attribute (2 tags) (html5) rep_lang_missing_html_attr
The language declaration in the html tag will have no effect (2 tags) (xhtml) rep_html_no_effective_lang

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • html5 shouldn't report "This HTML file contains xml:lang attributes" but should report "A tag uses an xml:lang attribute without an associated lang attribute" as an ERROR

HTTP Content-Language header

[HTTP Content-Language] ko
no other language info
The html tag has no language attribute. rep_lang_no_lang_attr

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • no reports

Content-Language meta element

[Content-Language meta tag] ko
no other language info
Content-Language meta element used (html5) rep_content_lang_meta
Content-Language meta element used (html,xhtml,xhtmlx,xhtml11) rep_content_lang_meta
The html tag has no language attribute. rep_lang_no_lang_attr


HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • no reports
  • report doesn't include the extra text about CL meta
  • add new report

Mismatch between lang and xml:lang values in body

A lang attribute value did not match an xml:lang value when they appeared together on the same tag. (3 instances) rep_lang_conflict
This HTML file contains xml:lang attributes. (3 tags) (html) rep_lang_xml_attr_in_html

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • reports should be an error rather than a warning
  • report "A lang attribute value did not match an xml:lang value when they appeared together on the same tag." missing for html5
  • report "This HTML file contains xml:lang attributes " should not show for html5, but "A lang attribute value did not match an xml:lang value when they appeared together on the same tag." should

Mismatch between lang and xml:lang values in html tag

A lang attribute value did not match an xml:lang value when they appeared together on the same tag. (1 instance) rep_lang_conflict
This HTML file contains xml:lang attributes. (3 tags) (html) rep_lang_xml_attr_in_html

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • reports should be an error rather than a warning
  • report "A lang attribute value did not match an xml:lang value when they appeared together on the same tag." missing for html
  • report "This HTML file contains xml:lang attributes " should not show for html5, but "A lang attribute value did not match an xml:lang value when they appeared together on the same tag." should
  • xhtmlH, xhtmlX, xhtml11 hace an error message "The lang attribute and the xml:lang attribute in the html tag have different values." this is redundant and should be replaced by "A lang attribute value did not match an xml:lang value when they appeared together on the same tag."

No language attribute in html tag or elsewhere

The html tag has no language attribute. rep_lang_no_lang_attr

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • no reports

Incorrect language values

A language value was incorrectly formed. (4 instances) rep_lang_malformed_attr
This HTML file contains xml:lang attributes. (4 tags) (html) rep_lang_xml_attr_in_html
A tag uses an xml:lang attribute without an associated lang attribute (1 tag) (html5) rep_lang_missing_html_attr
A lang attribute value did not match an xml:lang value when they appeared together on the same tag. (1 tag) rep_lang_conflict
A tag uses a lang attribute without an associated xml:lang attribute (1 tag) (xhtmlx,xhtml11) rep_lang_missing_xml_attr
A tag uses a lang attribute without an associated xml:lang attribute (1 tag) (xhtml) rep_lang_missing_xml_attr
A tag uses an xml:lang attribute without an associated lang attribute (1 tag) (xhtml) rep_lang_missing_html_attr

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • no reports
  • test is not picking up problems in the html tag

Non-latin values

Non-ASCII class/id names

[Non-ascii class or id names] 8

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • we should make the list in the code column expand on click
  • the result shows 9 instead of 8
  • the scroll say Next 4, but all 8 are already shown

Non-NFC class/id names

[Non-ascii class or id names] 4
[Non-NFC class or id names] 4
Class or id names found that are not in Unicode Normalization Form C. (4 tags)rep_misc_non_nfc

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • result shows 5, instead of 4

Markup

b tags with no class

<b> tags found with no class attribute. (3 b tags total, 2 without class) rep_misc_tags_no_class

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • report finds 1 b tag in total, but 3 b tags without class attrs - should be 3 total and 2 without class

i tags with no class

<i> tags found with no class attribute. (2 tags) rep_misc_tags_no_class

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • report finds 1 b tag in total, but 3 b tags without class attrs - should be 3 total and 2 without class

Incorrect dir values

Incorrect values used for dir attribute. (2 tags for html, html5; 3 for xhtmlH, xhtmlX, xhtml11)

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)

Auto used for dir

Incorrect values used for dir attribute. (2 tags for html, xhtmlH, xhtmlX, xhtml11)

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)

dir rtl in html tag

[Default direction] rtl

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • should be same case as in code

dir ltr in html tag

[Default direction] ltr

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • should be same case as in code

no dir in html tag

[Default direction] ltr (by default)

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Problems:

  • Result should not be highlighted
  • we should not show the html tag code in the code columnn for the default direction

bdo tags found with no dir attribute

<bdo> tags found with no dir attribute rep_markup_bdo_no_dir

HTML4   
HTML5   
XHTML1.0 (html)   
XHTML1.0 (xml)   
XHTML1.1 (xml)


Checks added

  • charset on a element (deprecated by html5) (see http://www.w3.org/International/tests/tests-html-css/list-encoding-html-css test 8)
  • charset on link element (deprecated html5)
  • charset on script element (ok)
  • xml:lang is used for non xml docs
  • meta[content-type] is used on html5 docs (is it deprecated?)
  • meta[charset] used for non html5 docs
  • meta[content-language] is used (seems to be obsolete: http://www.w3.org/TR/html-markup/meta.http-equiv.content-language.html)
  • use only bom for utf-16
  • utf-16 charset declaration in utf-8 document (switched to utf-8 by browser)
  • bdo element without dir attribute
  • html5 cannot have xml:lang alone, must be lang and xml:lang or just lang
  • charset meta must fit within 512 (1024?) bytes of file
  • make html5 accept auto