kibana icon indicating copy to clipboard operation
kibana copied to clipboard

fix: [Get Started][KEYBOARD]: Elements in closed accordions must not be able to take keyboard focus

Open alexwizp opened this issue 1 year ago • 4 comments

Closes: https://github.com/elastic/security-team/issues/8898

Description

The Security > Get Started view for Serverless projects has a number of accordions that do not remove focusable content from the DOM. This can lead to a situation where keyboard users' focus is lost inside a closed accordion. This can create bad UX as the number of focusable elements inside an accordion increase. Screenshot attached below.

Steps to recreate

  1. Open Cloud UI and create a Serverless Security project if none exist
  2. When the project is created, click the Continue button
  3. Navigate to the Security project Get started view. This link is in the lower left of the navigation pane.
  4. Tab through the page until you see focus on the downward arrow on an accordion. Tab again and notice the focus disappears.
  5. Verify focus is on a hidden element by opening the Console and typing document.activeElement into the prompt. This will show focus is on an element inside the accordion.

What was done?:

  1. visible style was added. Using a visibility value of hidden/collapse on an element will remove it from the accessibility tree.

Screen:

https://github.com/elastic/kibana/assets/20072247/acf62fe0-7a12-4fdc-9961-2ecf17c20e0b

alexwizp avatar Apr 12 '24 10:04 alexwizp

/ci

alexwizp avatar Apr 12 '24 10:04 alexwizp

Pinging @elastic/security-threat-hunting (Team:Threat Hunting)

elasticmachine avatar Apr 12 '24 10:04 elasticmachine

Pinging @elastic/security-solution (Team: SecuritySolution)

elasticmachine avatar Apr 12 '24 10:04 elasticmachine

:yellow_heart: Build succeeded, but was flaky

Failed CI Steps

Test Failures

  • [job] [logs] FTR Configs #40 / alerting api integration security and spaces enabled Alerts - Group 1 alerts backfill rule runs ad hoc backfill task should handle timeouts

Metrics [docs]

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
securitySolution 13.7MB 13.7MB +185.0B

History

  • :broken_heart: Build #206538 failed 248a799aaaff98c3d9c29d6790665ded3caf9728
  • :green_heart: Build #205878 succeeded 0e530a956073e74ad9d61d9ec2870386ec13313b
  • :green_heart: Build #205520 succeeded cf8bcfdbaf0b43e85325216db139e6ebe8e30860
  • :green_heart: Build #205191 succeeded b1bc4d411e81d432748996cd220ecd709e48c692
  • :green_heart: Build #204535 succeeded 4f93cbc761246dc183e2c6e1b5dae915963162d7

To update your PR or re-run it, just comment with: @elasticmachine merge upstream

kibana-ci avatar Apr 29 '24 10:04 kibana-ci