Heute (2015-02-25)
Dies ist gültiges HTML5 und sendet ein Leerzeichen (nicht ein Leerzeichen) an den Server:
<option label=" "></option>
Geprüfte Gültigkeit am http://validator.w3.org/check
Überprüftes Verhalten mit Win7(IE11 IE10 IE9 IE8 FF35 Safari5.1) Ubuntu14.10(Chrome40, FF35) OSX_Yosemite(Safari8, Chrome40) Android(Samsung-Galaxy-S5)
Auch das Folgende wird validiert heute , übergibt aber bei den meisten Browsern eine Art Leerzeichen an den Server (wahrscheinlich nicht erwünscht) und bei anderen ein Leerzeichen (Chrome40/Linux übergibt ein Leerzeichen):
<option> </option>
Zuvor (2013-08-02)
Meinen Notizen zufolge führte die Entität "Non-breaking-space" innerhalb der oben gezeigten Optionstags 2013 zu folgendem Fehler:
Fehler: W3C Markup Validaton Service (Public): Das erste untergeordnete option Element eines select-Elements mit einem required-Attribut und ohne ein multiple-Attribut, und dessen Größe 1 ist, muss entweder ein leeres value-Attribut haben, oder darf keinen Textinhalt haben.
Damals war ein normales Leerzeichen gültiges XHTML4 und wurde von jedem Browser als Leerzeichen an den Server gesendet:
<option> </option>
Zukunft
Es würde mich freuen, wenn die Spezifikation aktualisiert würde, um ausdrücklich eine leere Option zuzulassen. Vorzugsweise unter Verwendung der kürzesten Syntax. Eine der beiden folgenden Möglichkeiten wäre großartig:
<option />
<option></option>
Test Datei
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Test</title>
</head>
<body>
<form action="index.html" method="post">
<select name="sel">
<option label=" "></option>
</select>
</form>
</body>
</html>