2013-06-26 35 views
0

我與validator檢查,它看起來像下面的代碼是可以接受的:HTML5是否明確允許<select>未選中<option>?

<select> 
    <option>I don't have the 'selected' attribute</option> 
</select> 

此外,所有的瀏覽器似乎認爲第一<option>,如果它被選中。

但是,這種行爲明確允許,並記錄在規範?

我發現一個very old discussion是指着HTML4規範,他說:

如果沒有選元素已選定的屬性設置,用戶代理哪個選項最初選擇選擇 行爲是 不確定的。

使用HTML5做了這個改變嗎?指標的相關部分的指針將不勝感激。

+0

從什麼時候開始HTML5是官方W3C認可的規範? –

+0

代碼完全有效,您的問題似乎更多地處理各種瀏覽器對待它的方式。 – j08691

+0

@Denis,好的,用* WC3 Candidate Recommendation *替換* spec *,但這不會改變太多的問題:) – Benjamin

回答

6

現在這是explicitly defined by HTML5到一定程度:

如果multiple屬性不存在,且該元素的顯示尺寸爲1,則每當有在選項select元素的列表中沒有option元件具有其選擇性設置爲true,則用戶代理必須將樹狀順序列表中第一個option元素的選擇性設置爲未被禁用(如果有的話)爲true。

在你給出的標記,該multiplesize屬性對於<select>缺席,和裏面的唯一<option>元素並不失效,而沒有一個selected屬性明確設置。對於非多個<select>元素,默認顯示大小爲1,因此上述規則必須由瀏覽器應用。請注意,這與當前的瀏覽器行爲一致,並有很好的理由。

但是,在給定的<select>中沒有啓用<option>元素的情況下,它仍然沒有指定瀏覽器應該做什麼。

+0

非常好。謝謝! – Benjamin

相關問題