[whatwg] Option label, textContent and value
Jukka K. Korpela
jkorpela at cs.tut.fi
Tue Mar 8 06:22:02 PST 2011
Markus Ernst wrote:
> <option label="Label1">TextContent1</option>
> <option label="Label2">TextContent2</option>
> - IE 8, Opera 11 and Chrome 9 display "Label1" and "Label2"
> - Firefox 3.6 displays "TextContent1" and "TextContent2"
> Firefox's behavour seems to be contradictory to the spec, which gives
> the label attribute precedence.
This is a bug in Firefox. The label attribute is defined for <option> even
in HTML 4.01, though its use has been limited - it was mainly introduced for
use in nested menus, where an <option> is inside <optgroup>
> Furthermore, as I understand the above definitions, the spec does
> allow to specify label and value in one step in a select element:
> <option>This is value and label
Yes, that has been the case since HTML 2.
> But not in a datalist, as the label is taken from the textContent
> rather than from the value of the option element:
> <option value="No label here">
> <option label="No value here">
I'm not sure I follow you here... The idea is that a <datalist> element has
no text content, i.e. all information is in the attributes of its children.
If you had some content in the <option> element, then it would be visible on
browsers that do not understand the <datalist> markup.
Technically it's a bit more complicated:
"The contents of the [datalist] element represents fallback content for
legacy user agents, intermixed with option elements that represent the
predefined options. In the rendering, the datalist element represents
nothing and it, along with its children, should be hidden."
So you _could_ use <option value="xxx">foobar</option> inside <datalist>,
but "foobar" would be ignored by conforming browsers - it would only appear
on older browsers, hopefully constituting part of well-designed fallback
More information about the whatwg