html - 访问隐藏的输入元素

标签 html css accessibility

我的问题: 如何通过标签访问隐藏的输入元素?

详细解释:

在我的网站上,我将单选按钮的可见性设置为 none 并自定义了 before 元素以获得自定义设计。

问题是当我尝试通过选项卡访问输入类型 radio 时我无法执行此操作,因为它是可见性隐藏的。

那么,谁能建议我如何使用选项卡访问隐藏的输入元素?

网站

Demo Form

请访问上面的链接,您会在那里找到一个表格。现在,请尝试使用选项卡访问单选按钮。它会跳过单选按钮。

最佳答案

您的选项卡流中必须有一个支持 tabindex 的元素,并且由于您的单选按钮被隐藏,因此无法使用。 anchor 标签 确实支持标签索引,因此您可以使用 a 标签包装每个 li 标签的内部元素,并为其分配一个适用于您的标签索引流...

变化:

<li tabindex="0" class="radio gchoice_2_14_0">
    <input style="margin-left:1px;" name="input_14" type="radio" value="2017/2018" id="choice_2_14_0" onclick="gf_apply_rules(2,[0]);" onkeypress="gf_apply_rules(2,[0]);">
    <label tabindex="0" for="choice_2_14_0" id="label_2_14_0">2017/2018
    </label>
</li>

收件人:

<li tabindex="0" class="radio gchoice_2_14_0">
    <a tabindex="1010">
        <input style="margin-left:1px;" name="input_14" type="radio" value="2017/2018" id="choice_2_14_0" onclick="gf_apply_rules(2,[0]);" onkeypress="gf_apply_rules(2,[0]);">
        <label tabindex="0" for="choice_2_14_0" id="label_2_14_0">2017/2018
        </label>
    </a>
</li>

当您使用 Tab 键指向它时,这将使 anchor 标记获得焦点(假设前一个元素的 tabindex 为“1009”或更低)。

这回答了您关于如何切换到它的问题。现在你已经有了,你需要做几件事:

  1. 按照您认为合适的方式为 form li.radio a:focus 设置元素的 css 样式。
  2. a 元素设置按键事件,这样您就可以在它获得焦点时通过按下 enter 键实际选择假单选按钮。

关于html - 访问隐藏的输入元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39367080/

相关文章:

javascript - 如何垂直对齐两个div中的元素?

html - 滚动文本区域时防止出现 "half cut"行

javascript - 在 anchor 上显示/ overflow hidden div

Android AccessibilityManager getEnabledAccessibilityServiceList 在某些情况下返回空列表

powershell - 在 Vista 中自动设置双显示器

jquery - 如何使用选取框标签创建连续滚动?

html - 如何使 Bootstrap 组件正确对齐?

html - 在另一个 DIV 中 float 一个 DIV

html - 更改 Google 的 "I' m not a robot“ReCaptcha V2”的样式和大小

ios - Xamarin iOS - 我们如何以编程方式将辅助功能焦点设置为按钮