简体   繁体   English

Web 辅助功能 - 从选项卡面板导航到选项卡

[英]Web Accessibility - Navigating to Tab from tabpanel

I have a modal that consists of tab layout to enter some form data.我有一个模式,由用于输入一些表单数据的选项卡布局组成。 The form is a list of radiogroups that can be quite long.该表格是一个可能很长的无线电组列表。

For a user to get back to the tab, currently they have to shift+tab all the way back through the radio buttons to get back to the tab.为了让用户返回到选项卡,目前他们必须通过单选按钮一直按 shift+tab 键才能返回到选项卡。

I know escape should close the modal.我知道转义应该关闭模态。 What is the expected keyboard navigation to return to a tab from a tab panel, so the user doesn't have to shift tab through all of the radio buttons?从选项卡面板返回到选项卡的预期键盘导航是什么,因此用户不必通过所有单选按钮切换选项卡?

There is no predefined standard keyboard shortcut to go back to a tab control from inside its content.没有预定义的标准键盘快捷键 go 从内容内部返回选项卡控件。

IN a native app, you can go to next/previous tab with Ctrl+Tab/Ctrl+Shift+Tab or Ctrl+PageDown/Up, or sometimes Ctrl+number.在本机应用程序中,您可以使用 Ctrl+Tab/Ctrl+Shift+Tab 或 Ctrl+PageDown/Up 或有时使用 Ctrl+number go 到下一个/上一个选项卡。 However, on the web, these shortcuts are of course already taken to control the tabs of the browser itself.但是,在 web 上,这些快捷方式当然已经用于控制浏览器本身的选项卡。 You won't be able to intercept them for your own use, and even if you could, it would be a terribly bad idea because you would prevent the user from changing browser tab.您将无法拦截它们供您自己使用,即使可以,这也是一个非常糟糕的主意,因为您会阻止用户更改浏览器选项卡。

If your modal dialog is so big and so long, maybe you can think about modifying the behavior of the escape key.如果你的模态对话框又大又长,也许你可以考虑修改转义键的行为。 On first press, you go back on the tab control, and if you area already on the tab control then it closes the dialog.第一次按下时,您 go 回到选项卡控件上,如果您已经位于选项卡控件上,则它会关闭对话框。 The user whould have then to press escape twice to close the dialog completely.然后用户必须按两次退出键才能完全关闭对话框。 This is a change from standard escape behavior, but it's maybe more acceptable than defining a completely new keyboard shortcut that no one will use because it's unknown or they didn't get the information at proper moment or didn't remember about it.这是对标准转义行为的改变,但它可能比定义一个全新的键盘快捷键更容易接受,因为它是未知的,或者他们没有在适当的时候获得信息或不记得它,所以没有人会使用它。

More generally, it's maybe the sign that your UI design is too complicated and that you should simplify it or organize it differently.更一般地说,这可能表明您的 UI 设计过于复杂,您应该简化它或以不同的方式组织它。 What about splitting into different dialogs (eg one per tab)?如何拆分成不同的对话框(例如每个选项卡一个)? Making groups that you can expand/collapse?创建可以展开/折叠的组? etc.等等

A big part of accessibility is also about making things simple.可访问性的很大一部分也是关于让事情变得简单。 If it's too complicated to do it accessibly, maybe you should simplify.如果它太复杂而无法访问,也许你应该简化。

There is no such keyboard shortcut defined for this action in web applications.在 web 应用程序中没有为此操作定义此类键盘快捷键。 If you take a look at the "keyboard interaction" section of the W3's Authoring Practices document on "Tabs" :如果您查看W3 关于“选项卡”的创作实践文档的“键盘交互”部分

For the tab list:对于选项卡列表:

  • Tab : Tab
    • When focus moves into the tab list, places focus on the active tab element.当焦点移动到选项卡列表时,将焦点放在活动tab元素上。
    • When the tab list contains the focus, moves focus to the next element in the page tab sequence outside the tablist, which is the tabpanel unless the first element containing meaningful content inside the tabpanel is focusable. When the tab list contains the focus, moves focus to the next element in the page tab sequence outside the tablist, which is the tabpanel unless the first element containing meaningful content inside the tabpanel is focusable.
  • When focus is on a tab element in a horizontal tab list:当焦点位于水平选项卡列表中的选项卡元素上时:
    • Left Arrow : moves focus to the previous tab. Left Arrow :将焦点移至上一个选项卡。 If focus is on the first tab, moves focus to the last tab.如果焦点位于第一个选项卡上,则将焦点移至最后一个选项卡。 Optionally, activates the newly focused tab (See note below). (可选)激活新聚焦的选项卡(请参阅下面的注释)。
    • Right Arrow : Moves focus to the next tab. Right Arrow :将焦点移至下一个选项卡。 If focus is on the last tab element, moves focus to the first tab.如果焦点位于最后一个选项卡元素上,则将焦点移至第一个选项卡。 Optionally, activates the newly focused tab (See note below). (可选)激活新聚焦的选项卡(请参阅下面的注释)。
  • When focus is on a tab in a tablist with either horizontal or vertical orientation:当焦点位于水平或垂直方向的选项卡列表中的选项卡上时:
    • Space or Enter : Activates the tab if it was not activated automatically on focus. Space or Enter :如果选项卡未在聚焦时自动激活,则激活该选项卡。
    • Home (Optional): Moves focus to the first tab. Home (可选):将焦点移至第一个选项卡。 Optionally, activates the newly focused tab (See note below). (可选)激活新聚焦的选项卡(请参阅下面的注释)。
    • End (Optional): Moves focus to the last tab. End (可选):将焦点移至最后一个选项卡。 Optionally, activates the newly focused tab (See note below). (可选)激活新聚焦的选项卡(请参阅下面的注释)。
    • Shift + F10 : If the tab has an associated popup menu, opens the menu. Shift + F10 :如果选项卡有关联的弹出菜单,则打开菜单。
    • Delete (Optional): If deletion is allowed, deletes (closes) the current tab element and its associated tab panel, sets focus on the tab following the tab that was closed, and optionally activates the newly focused tab. Delete (可选):如果允许删除,则删除(关闭)当前选项卡元素及其关联的选项卡面板,将焦点设置在已关闭选项卡后面的选项卡上,并可选择激活新聚焦的选项卡。 If there is not a tab that followed the tab that was deleted, eg, the deleted tab was the right-most tab in a left-to-right horizontal tab list, sets focus on and optionally activates the tab that preceded the deleted tab.如果不存在被删除的选项卡之后的选项卡,例如,被删除的选项卡是从左到右的水平选项卡列表中最右边的选项卡,则将焦点设置在被删除的选项卡之前的选项卡上,并且可选地激活被删除的选项卡之前的选项卡。 If the application allows all tabs to be deleted, and the user deletes the last remaining tab in the tab list, the application moves focus to another element that provides a logical work flow.如果应用程序允许删除所有选项卡,并且用户删除了选项卡列表中的最后一个剩余选项卡,则应用程序会将焦点移动到提供逻辑工作流的另一个元素。 As an alternative to Delete , or in addition to supporting Delete , the delete function is available in a context menu.作为Delete的替代方法,或者除了支持Delete之外,删除 function 在上下文菜单中可用。

Notably absent is any shortcut for the operation you are envisioning.值得注意的是,您所设想的操作没有任何捷径。 You may look to QuentinC's answer for some alternative solutions from more of a UX perspective.您可能会从更多用户体验的角度查看QuentinC 的一些替代解决方案的答案

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 GXT3从tabpanel / tab容器中删除选项卡 - GXT3 Remove tab from a tabpanel/tab container 离子:从标签视图导航时没有后退按钮 - Ionic: No back button when navigating away from tab view 使用Richfaces tabPanel阻止在选项卡开关上提交表单 - Prevent form submit on tab switch with richfaces tabPanel 如何在标签面板onclick中创建标签? - how do i create a tab in a tabpanel onclick? 在ExtJS 4的选项卡面板中,如何创建父选项卡包括2个子选项卡 - In the tabpanel of ExtJS 4, how to create parent tab includes 2 child tab 离开选项卡时如何停止在选项卡中播放 wistia 视频? - How to stop wistia video being played in a tab when navigating away from tab? 从 Shiny 的 navbarMenu 外部的另一个选项卡面板链接到 navbarMenu 内的选项卡面板 - Link to a tabpanel within navbarMenu from another tabpanel outside navbarMenu in Shiny 如何在JavaScript中选择标签并设置标签面板的内容 - How do I select a tab and set content of the tabpanel in JavaScript 如何在不更改ExtJS中的卡片的情况下在选项卡面板中选择选项卡? - How can I choose a tab in a tabpanel without changing the card in ExtJS? ExtJs3:如何使Tabpanel的可关闭选项卡不可关闭并返回? - ExtJs3: how to make closable tab of tabpanel not closable and back?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM