在xforms中有tabindex功能吗?

时间:2011-03-17 15:54:29

标签: xforms orbeon

我正在对表单进行单元测试,发现Orbeon给出的自动选项卡索引存在严重问题。

在我的情况下,我需要遵循标签索引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

2 个答案:

答案 0 :(得分:1)

XForms为此目的提供navindex属性,在section 8.1, The XForms Core Form Controls Module中定义:

  

...中的一个非负整数   范围0-32767用于定义   导航序列。这给了   作者控制序列   遍历哪些表单控件。

还进一步讨论了section 4.3.6, The xforms-next and xforms-previous Events中与navindex导航相关的一些细节。

答案 1 :(得分:1)

如果我理解这一点,您希望按照控件在页面中的顺序完成Tab键。问题是,当您通过单选按钮进行选项卡时:

  • 您发现“光标”随后会出现在每个单选按钮上。
  • 您希望它转到下一个字段。

我不确定您使用的是什么浏览器,因为当我尝试使用时,如果一直选择单选按钮,则光标不会通过所有单选按钮,而只会通过您选择的那个。也就是说,我得到了“你想要的东西”,而不是“你观察到的”行为。我用Firefox 4和IE 7测试了它。

BTW,这种行为与XForms无关;这就是标签通过HTML控件的工作方式。

Tabs on Firefox 4