2011-03-17 59 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