我正在维护一个高级 eform 应用程序,其中包含我无法轻易更改的混合遗留自由文本 HTML。以前没有使用 tabindex,它依赖于字符流顺序。
在页面中间,我需要引入一个表格,其中包含带有自定义跳格顺序的输入,例如:
|-----|-----|-----| | 1 | 3 | 5 | |-----|-----|-----| | 2 | 4 | 6 | |-----------------|
在页面上呈现遗留/先前添加的输入的方式,我实际上可以动态/集中更改它们,以便它们按顺序输出标签索引。如:
[输入,标签索引:1] |-----|-----|-----| | 2 | 4 | 6 | |-----|-----|-----| | 3 | 5 | 7 | |-----------------| [输入,标签索引:8]
但是,当自由文本 HTML 锚点开始出现时,问题就出现了,这些锚点不是动态呈现的(因此不能轻易地将 tabindex 添加到它们,除非我添加了相当多的正则表达式逻辑)。那么标签就变成了这样:
[输入,标签索引:1] |-----|-----|-----| | 2 | 4 | 6 | |-----|-----|-----| | 3 | 5 | 7 | |-----------------| [锚链接] [输入,标签索引:8]
这使得链接无法被选项卡到. 可能有更糟糕,更高级的案例......但我认为这个问题可以理解吗?
所以我的问题是……是否有可能以某种方式分配某种 tabindex 组:
[标签组1] [输入] [/标签组1] [标签组2] |-----|-----|-----| | 1 | 3 | 5 | |-----|-----|-----| | 2 | 4 | 6 | |-----------------| [/标签组2] [标签组3] [锚链接] [输入] [/标签组3]
这样我就可以像以前一样进行制表工作,按字符流的顺序跳转,从输入到最近的锚点,到下一个输入,等等……但是在 [tabgroup2] 内部时,它将按tabindexes 在那里,但随后继续进入 [tabgroup2] 和 tab 就好像所有元素都有tabindex="0"
我正在寻找的是一些神奇的 HTML 解决方案(这不太可能)或一个相对简单的 javascript 库,它可能已经实现了类似的东西。
或者,如果这实际上不存在,那么如果我自己尝试实现它,听到一些替代想法或可能的警告想法会很有趣。