-
Incident report
-
Resolution: Unresolved
-
Trivial
-
None
-
None
-
None
-
None
Description:
1. To trigger actions, such as opening a submenu or opening a dialog to change entries,
links are used in many places instead of buttons.
The menu, including all submenu entries, is completely structured with links. This means that keyboard users inevitably have to go through all menu entries via keyboard and cannot navigate through the entries at the upper menu level and then, for example, select the last menu item, since navigating with the tab key opens the respective submenu directly.
See screenshots
2. Monitoring -> Problems page, link 'Update' in the data table
3. The same applies to the modal Update problem, 'Details' is stored as a <a> link instead of with a <button>.
4. Monitoring -> Problems
5. Data collection -> Hosts
Why this is a problem:
1. Assistive technologies rely on semantical code ** and common practices, ** altering the code and component intended purpose
2. Buttons can be provided with specific ARIA attributes in order to explain their states, statuses and relation to other components to users relying on assistive technologies. Such attributes do not exist for <a> elements.
3. Buttons are natively optimized for keyboard operation (e.g. by the Enter and Space
bars). For links, only the enter key is supported by default, which can make it
difficult to use. All links are opened, navigating through the menu is not as efficient
as navigating where submenus are actively opened by pressing the Enter key.
4. Modal windows require correct focus management (e.g. setting the focus on the
dialog content when opening). Using a button makes this easier because it is
semantically clearer and can be better combined with ARIA attributes.
5. A link indicates navigation, while a button signals an action. Different functionality can confuse users, especially if they use assistive technologies.
Expectation:
To meet and improve the accessibility requirements and create improved and consistent user experience it is important to follow common practices and standards.
- Link element should be used only for navigational purposes. They should navigate users to another location or section within the same page.
- Button element should be used to trigger actions or events.
- Links usage instead of buttons is common in the Zabbix UI, so each case should be carefully reviewed.