2011-03-17 60 views
2

我正在對錶單進行單元測試,發現Orbeon提供的自動標籤索引存在一些嚴重問題。在xforms中有tabindex功能嗎?

在我的情況下,我需要以下標籤索引1-7,如圖中數字所示。

型號:

<xforms:model> 
    <xforms:instance id="dropdown-values"> 
     <form> 
      <yes-no> 
      <options>Yes</options> 
      <options>No</options> 
      </yes-no> 
     </form> 
    </xforms:instance> 
</xforms:model> 

邏輯到在形式創建電臺:

<xforms:itemset nodeset="instance('dropdown-values')/yes-no/options"> 
    <xforms:label ref="." /> 
    <xforms:value ref="." /> 
</xforms:itemset> 

http://i.stack.imgur.com/9QvKq.jpg

上面的例子已經在 「否」 被選擇像的官能度「啓用文本「選項,以下文本框被禁用。目前Orbeon提供了一個默認的tabindex,並從選定的單選按鈕切換到下一個字段。即:

  • 如果無線電選擇爲「否」,使用標籤導航將2-> 6,並且如果無線電選作重複
  • 「是」,使用標籤導航將1-> 3-> 4-> 5-> 7並重復

但意圖的功能是:

  • 如果無線電選擇爲 「否」,使用標籤導航將1-> 2- > 5-> 6然後重複。
  • 如果無線電選擇爲 「是」 時,使用標籤導航將1-> 2-> 3-> 4-> 5-> 6-> 7個

回答

1

如果我理解得很好,您希望按照控件在頁面中的順序進行切換。問題是,當你通過單選按鈕選項卡時:

  • 您會發現「光標」隨後會出現在每個單選按鈕上。
  • 你希望它進入下一個領域。

我不確定你使用的瀏覽器是什麼,因爲當我嘗試這個時,如果一個單選按鈕被選中,光標不會通過所有的單選按鈕,而只是對你選擇。也就是說,我得到了「你想要的」,而不是「你觀察到的」行爲。我用Firefox 4和IE 7測試了這個。

順便說一下,這種行爲與XForms無關;這只是通過HTML控件如何實現TabBbing。

Tabs on Firefox 4

1

XForms提供的navindex屬性爲這個目的,在section 8.1, The XForms Core Form Controls Module定義:

在各 範圍0-32767用來定義 導航序列的非負整數。這給出 作者控制遍歷的形式控件的 中的序列。

navindex導航section 4.3.6, The xforms-next and xforms-previous Events中的一些細節也有進一步的討論。

+0

navindex似乎等同於html tabindex。但是沒有足夠的關於xforms:itemset的使用文檔。不過,謝謝您爲我的問題分享解決方案的方向。 – 2011-03-18 09:35:00