ISSUE-40: [dup 38] Definition of the style attribute in HTML 5

style-attr-vs-css

[dup 38] Definition of the style attribute in HTML 5

State:
CLOSED
Product:
Raised by:
Michael[tm] Smith
Opened on:
2008-04-04
Description:
http://lists.w3.org/Archives/Public/public-html/2008Mar/0260.html

From: Daniel Glazman <daniel.glazman@disruptive-innovations.com>
Date: Fri, 28 Mar 2008 02:06:20 +0100
Message-ID: <47EC448C.4020303@disruptive-innovations.com>
To: "public-html@w3.org" <public-html@w3.org>
Cc: "www-style@w3.org" <www-style@w3.org>


Dear HTML WG,

The CSS WG has found today an incompatibility problem between the HTML4
and the HTML5 definitions of the style attribute.

Excerpt from HTML 4.01 spec [1]:

For example, for CSS2 inline style, use the declaration block
syntax described in section 4.1.8 (without curly brace delimiters).

Excerpt from HTML 5 spec [2]:

The style attribute, if specified, must contain only a list of zero
or more semicolon-separated (;) CSS declarations.

This change has an implication on the error handling supposed to occur
during the parsing of the contents of the attibute. An example is the
following one :

style="color:lime; (; color:red"

HTML 5 will make the element red, because HTML 5 explicitely splits
the contents of the attribute at semicolons.
The error handler looking for the matching closing parenthesis does not
find it at all, the () pair on the stack is closed finding the semicolon
ending the declaration.
In HTML 4, the style attribute holding the contents of a CSS block, the
error handler will look for the matching closing parenthesis as required
by CSS 2.1 until the end of the attribute's content. The element will
then be lime.

The CSS WG would like the definition of the style attribute in
HTML 5 to go back to the phrasing of HTML 4, entirely leaving the
definition of that attribute's value to the stylesheet's language
and error handling. We don't think HTML 5 should define the contents
of the style attribute in deeper details than what HTML 4 does,
and in particular should not specify how individual stylistic data
are separated inside the value of the style attribute.

Thanks.

[1]
http://www.w3.org/TR/1999/REC-html401-19991224/present/styles.html#adef-style
[2] http://www.w3.org/html/wg/html5/#style0

</Daniel>, CSS WG co-chair
Related Actions Items:
No related actions
Related emails:
  1. ISSUE-40 (style-attr-vs-css): Definition of the style attribute in HTML 5 [HTML 5 spec] (from sysbot+tracker@w3.org on 2008-04-04)

Related notes:

see ISSUE-38

Dan Connolly, 10 Apr 2008, 22:37:25

Changelog:

Created issue 'Definition of the style attribute in HTML 5' nickname style-attr-vs-css owned by Michael(tm) Smith on product HTML 5 spec, description 'http://lists.w3.org/Archives/Public/public-html/2008Mar/0260.html

From: Daniel Glazman <daniel.glazman@disruptive-innovations.com>
Date: Fri, 28 Mar 2008 02:06:20 +0100
Message-ID: <47EC448C.4020303@disruptive-innovations.com>
To: "public-html@w3.org" <public-html@w3.org>
Cc: "www-style@w3.org" <www-style@w3.org>


Dear HTML WG,

The CSS WG has found today an incompatibility problem between the HTML4
and the HTML5 definitions of the style attribute.

Excerpt from HTML 4.01 spec [1]:

For example, for CSS2 inline style, use the declaration block
syntax described in section 4.1.8 (without curly brace delimiters).

Excerpt from HTML 5 spec [2]:

The style attribute, if specified, must contain only a list of zero
or more semicolon-separated (;) CSS declarations.

This change has an implication on the error handling supposed to occur
during the parsing of the contents of the attibute. An example is the
following one :

style="color:lime; (; color:red"

HTML 5 will make the element red, because HTML 5 explicitely splits
the contents of the attribute at semicolons.
The error handler looking for the matching closing parenthesis does not
find it at all, the () pair on the stack is closed finding the semicolon
ending the declaration.
In HTML 4, the style attribute holding the contents of a CSS block, the
error handler will look for the matching closing parenthesis as required
by CSS 2.1 until the end of the attribute's content. The element will
then be lime.

The CSS WG would like the definition of the style attribute in
HTML 5 to go back to the phrasing of HTML 4, entirely leaving the
definition of that attribute's value to the stylesheet's language
and error handling. We don't think HTML 5 should define the contents
of the style attribute in deeper details than what HTML 4 does,
and in particular should not specify how individual stylistic data
are separated inside the value of the style attribute.

Thanks.

[1]
http://www.w3.org/TR/1999/REC-html401-19991224/present/styles.html#adef-style
[2] http://www.w3.org/html/wg/html5/#style0

</Daniel>, CSS WG co-chair' non-public

Michael[tm] Smith, 4 Apr 2008, 06:36:58

Status changed to 'closed'

4 Apr 2008, 06:43:02

title changed to '[dup 38] Definition of the style attribute in HTML 5'

10 Apr 2008, 22:37:25

Issue dissociated from any product

10 Apr 2008, 22:44:56


Paul Cotton <Paul.Cotton@microsoft.com>, Maciej Stachowiak <mjs@apple.com>, Sam Ruby <rubys@intertwingly.net>, Chairs, Michael[tm] Smith <mike@w3.org>, Staff Contact
Tracker: documentation, (configuration for this group), originally developed by Dean Jackson, is developed and maintained by the Systems Team <w3t-sys@w3.org>.
$Id: index.php,v 1.325 2014-09-10 21:42:02 ted Exp $