2010-01-28 62 views
3

看起來很簡單,但這對我來說有點頭疼。鑑於以下(有效的xhtml過渡)代碼:用單選按鈕組打破鍵盤焦點

<form action="weird.html"> 

      <label for="test1">T1</label> 
      <input type="radio" id="test1" name="test" value="1" /> 

      <label for="test2">T2</label> 
      <input type="radio" id="test2" name="test" value="2" /> 

      <label for="test3">T3</label> 
      <input type="radio" id="test3" name="test" value="3" /> 

      <label for="test4">T4</label> 
      <input type="radio" id="test4" name="test" value="4" /> 

      <label for="test5">T5</label> 
      <input type="radio" id="test5" name="test" value="5" /> 

     </form> 

爲什麼我不能在單選按鈕之間選項卡?這個問題似乎是因爲它們都具有相同的名稱屬性,但就可訪問性而言,這似乎與我相反。爲什麼焦點狀態只適用於一個?這是因爲該團隊被視爲一個單一的元素?訪問鍵是唯一的非Javascript解決方案嗎?

+0

您使用的是哪種瀏覽器? Firefox將通過元素標籤很好。如果你的意思是它應該選擇你所選擇的值,那麼這將是不合邏輯的,因爲除了最後一項之外沒有辦法選擇任何東西。 – 2010-01-28 16:24:04

回答

8

您實際上使用箭頭鍵在單選按鈕內移動,因爲如您所說,它們被視爲單個元素。這是正常的行爲。

+1

D'oh,填寫調查時我已經完成了一百萬次!謝謝你的回覆=) – restlessdesign 2010-01-28 16:54:20

+0

@restlessdesign - 一百萬次,你還記不起來,讓你覺得瀏覽器廠商弄錯了這個); – Neil 2013-02-27 14:38:03

1

由於詹姆斯和塔圖說這是正常的,我不知道你是否使用過「TABINDEX」,它可能工作。

<input type="radio" id="test5" name="test" value="5" tabindex="5" /> 

但是,因爲他們被視爲單個元素,它可能無法正常工作。

0

是的,每個單選按鈕組都被視爲一個表單元素 - 如果您想在組元素之間跳過,請使用箭頭鍵。它確實有道理;如果通過一組十個單選按鈕將一個長表單拖動到一半的位置,如果您在轉到下一個表單項之前必須通過所有10個單選按鈕選項卡,纔會感到惱火。

如果它們不在同一組中,則可以在它們之間選中。在下面的示例中,T5將獲得單獨的選項卡焦點到其餘部分:

<form action="weird.html"> 

     <label for="test1">T1</label> 
     <input type="radio" id="test1" name="test" value="1" /> 

     <label for="test2">T2</label> 
     <input type="radio" id="test2" name="test" value="2" /> 

     <label for="test3">T3</label> 
     <input type="radio" id="test3" name="test" value="3" /> 

     <label for="test4">T4</label> 
     <input type="radio" id="test4" name="test" value="4" /> 

     <label for="test5">T5</label> 
     <input type="radio" id="test5" name="test2" value="5" /> 

    </form>