vaadin:为什么不建议使用菜单/菜单栏进行导航?

vaadin: why it is not recommended to use menu / menubar for navigation?

在菜单栏的 Vaadin 文档页面上,Best practice 部分写道:

Menu Bar should not be used for navigation. Use tabs to switch between content, or anchor elements for regular navigation.

为什么? 拥有一个也可用于视图之间导航的多级组件可能很有用。

感谢您的帮助。

主要是因为语义和可访问性。未实现菜单栏组件,使其显示为屏幕等辅助技术的导航元素 readers。

我不确定如果将它包装在 Nav/<nav> component/element 中并使用 Anchor/<a> components/elements里面。我也不知道当 HTML 结构不是标准的嵌套 <ul>.

时,屏幕 reader 用户希望如何导航分层导航菜单

也就是说,可访问性并不是非黑即白的。所以我鼓励您与您的真实用户进行测试,看看如果您使用菜单栏实现导航,他们是否可以有效地使用您的应用程序。这才是最重要的,除非您还需要遵守某些可访问性标准(参见 Vaadin webinar about those)。

最后:

It could be useful to have a multilevel component that can be used for navigation between views too.

是的,这在 many/most 应用程序中非常有用。它在雷达上,但尚未被优先考虑。希望这会成为未来的官方组件。