Microsyntax parsing rules for numbers

The HTML5 microsyntax parsing rules for numbers basically are to first  
skip whitespace and the ignore trailing garbage. However, this doesn't  
match IE and Mozilla for all attributes. We have a bug about a page using  
the following markup:

    <td><input type="text" maxLength=3D59 size=3D30=20 name="email"></td>

...and the page doesn't work in Opera (can only enter 3 characters) but  
works in IE and Mozilla.


IE checks if the next character is [a-zA-Z] or [\192-\214] or [\216-\246]  
or [\248-\501] or [\506-\535] or [\592-\680] or \902 or [\905-\906] or  
\908 or [\910-\929] .... etc, and if so, drop the attribute. It does this  
for maxlength, hspace, vspace, cols, rows, span, colspan, rowspan,  
scrollamount, scrolldelay, start, value.

Mozilla checks if the next character is [a-fA-F] and if so, act as if the  
attribute was absent. It does this for maxlength, hspace, vspace, border,  
cols, rows, size, span, colspan, rowspan, cellpadding, cellspacing,  
topmargin, leftmargin, marginwidth, marginheight, scrollamount,  
scrolldelay, start, value.

For other attributes (e.g. width and height) IE and Mozilla match HTML5.

-- 
Simon Pieters
Opera Software

Received on Thursday, 4 December 2008 15:47:58 UTC