This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 8871 - Empty attribute syntax definition seems incorrect.
Summary: Empty attribute syntax definition seems incorrect.
Status: RESOLVED WONTFIX
Alias: None
Product: HTML WG
Classification: Unclassified
Component: HTML5: The Markup Language (editor: Michael(tm) Smith) (show other bugs)
Version: unspecified
Hardware: PC Linux
: P2 normal
Target Milestone: ---
Assignee: Michael[tm] Smith
QA Contact: HTML WG Bugzilla archive list
URL: http://dev.w3.org/html5/markup/syntax...
Whiteboard:
Keywords: editorial
Depends on:
Blocks:
 
Reported: 2010-02-03 10:53 UTC by Toby Inkster
Modified: 2010-03-10 07:13 UTC (History)
1 user (show)

See Also:


Attachments

Description Toby Inkster 2010-02-03 10:53:29 UTC
H:TML states that "certain attributes may be specified by providing just the attribute name" which suggests that there are other attributes which may not be specified this way.

The other HTML5 spec doesn't place any limits on which attributes may use the empty attribute syntax.
Comment 1 Michael[tm] Smith 2010-02-18 18:00:55 UTC
(In reply to comment #0)
> H:TML states that "certain attributes may be specified by providing just the
> attribute name" which suggests that there are other attributes which may not be
> specified this way.
> 
> The other HTML5 spec doesn't place any limits on which attributes may use the
> empty attribute syntax.

Is there a specific change you would like to see made to the wording?

Changing it to "All attributes may be specified by providing just the attribute name" would not be correct, because using the empty-attribute syntax with many (or even most) attributes is a conformance error -- because the values of the attributes must conform to a specific datatype/microsyntax. So the HTML5 spec does in fact place limits on which attributes can use the empty-attribute syntax.

And the per-element subsections of "HTML elements" section of the H:TML draft indicate explicitly which attributes can be empty.
Comment 2 Toby Inkster 2010-02-20 00:36:26 UTC
(In reply to comment #1)

> Changing it to "All attributes may be specified by providing just the attribute
> name" would not be correct, because using the empty-attribute syntax with many
> (or even most) attributes is a conformance error -- because the values of the
> attributes must conform to a specific datatype/microsyntax. So the HTML5 spec
> does in fact place limits on which attributes can use the empty-attribute
> syntax.

The some/all quantifier is not needed: "Attributes may be specified by providing just the attribute name." If further clarification is needed: "This sets the attribute value to the empty string, so is a conformance error if the empty string is not a valid value for the attribute."

> And the per-element subsections of "HTML elements" section of the H:TML draft
> indicate explicitly which attributes can be empty.

It does for some allowably empty attributes, but not all.

e.g. @href, @rel and @ping may all be empty on the <a> element, so the following is conformant:

  <a href rel ping>Foo</a>

But the language in the H:TML draft appears to forbid this.
Comment 3 Michael[tm] Smith 2010-02-20 03:39:42 UTC
(In reply to comment #2)
> The some/all quantifier is not needed: "Attributes may be specified by
> providing just the attribute name." If further clarification is needed: "This
> sets the attribute value to the empty string, so is a conformance error if the
> empty string is not a valid value for the attribute."

That's the same as saying, "Certain attributes may be specified by providing just the attribute name, with no value.", it's just more words.

> > And the per-element subsections of "HTML elements" section of the H:TML draft
> > indicate explicitly which attributes can be empty.
> 
> It does for some allowably empty attributes, but not all.
> 
> e.g. @href, @rel and @ping may all be empty on the <a> element, so the
> following is conformant:
> 
>   <a href rel ping>Foo</a>
> 
> But the language in the H:TML draft appears to forbid this.

In fact it doesn't. It says that, e.g., the allowed value of the rel attribute is "tokens", and explicitly defines "tokens" as "A space-separated list of zero or more token instances."

Anyway, I did make a refinement to clarify that the value of the @href attribute is allowed to be empty. See http://dev.w3.org/cvsweb/html5/markup/spec.html?r1=1.171&r2=1.172&f=h
Comment 4 Michael[tm] Smith 2010-03-10 07:13:57 UTC
EDITOR'S RESPONSE: This is an Editor's Response to your comment. If you are
satisfied with this response, please change the state of this bug to CLOSED. If
you have additional information and would like the editor to reconsider, please
reopen this bug. If you would like to escalate the issue to the full HTML
Working Group, please add the TrackerRequest keyword to this bug, and suggest
title and text for the tracker issue; or you may create a tracker issue
yourself, if you are able to do so. For more details, see this document:
   http://dev.w3.org/html5/decision-policy/decision-policy.html

Status: Rejected
Change Description: no change
Rationale: Most attributes cannot be specified in a conformant manner by providing just the attribute name; to phrase that in a slightly different way: Using empty-attribute syntax to specify those attributes is a conformance error. Therefore, it's accurate to state that  "certain attributes may be specified by providing just the attribute name", with the implication being that some cannot by specified that way.