Insights: improvements to a11y of links

This CL improves the a11y of links within the sidebar by turning them
into buttons, which are focusable + fire the click on "enter" by
default.

It also fixes the interactivity with the toggle icon by:

1. Making the toggle icon inert, so it doesn't take user events or
   appear in the a11y tree (which is fine for us; any time the user
   clicks on it it fires a click on the header element which is where
   the toggle behaviour is).
2. Adds a keydown handler to allow Enter+Space to toggle the insight
   expansion state.
3. Makes each insight header keyboard focusable.

Fixed: 372086700, 372092783, 372085384, 372084952
Change-Id: I0a7e58b57db0142b343412d2a74ba4862206f879
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5914255
Auto-Submit: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Andres Olivares <andoli@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
5 files changed
tree: dfa0dee2fde157b7ae11d4207082bc71c81e5fc7
  1. .vscode/
  2. build_overrides/
  3. config/
  4. docs/
  5. extension-api/
  6. extensions/
  7. front_end/
  8. inspector_overlay/
  9. node_modules/
  10. scripts/
  11. test/
  12. third_party/
  13. v8/
  14. .clang-format
  15. .editorconfig
  16. .eslintignore
  17. .eslintrc.js
  18. .git-blame-ignore-revs
  19. .gitallowed
  20. .gitattributes
  21. .gitignore
  22. .gitmodules
  23. .gn
  24. .mailmap
  25. .npmignore
  26. .npmrc
  27. .style.yapf
  28. .stylelintignore
  29. .stylelintrc.json
  30. AUTHORS
  31. BUILD.gn
  32. codereview.settings
  33. CONTRIBUTING.md
  34. DEPS
  35. favicon.ico
  36. LICENSE
  37. OWNERS
  38. package-lock.json
  39. package.json
  40. PRESUBMIT.py
  41. README.md
  42. tsconfig.json
  43. WATCHLISTS
README.md

Chrome DevTools frontend

npm package

The client-side of the Chrome DevTools, including all TypeScript & CSS to run the DevTools webapp.

Source code and documentation

The frontend is available on chromium.googlesource.com. Check out the Chromium DevTools documentation for instructions to set up, use, and maintain a DevTools front-end checkout, as well as design guidelines, and architectural documentation.

Source mirrors

DevTools frontend repository is mirrored on GitHub.

DevTools frontend is also available on NPM as the chrome-devtools-frontend package. It's not currently available via CJS or ES modules, so consuming this package in other tools may require some effort.

The version number of the npm package (e.g. 1.0.373466) refers to the Chromium commit position of latest frontend git commit. It's incremented with every Chromium commit, however the package is updated roughly daily.

Getting in touch

There are a few options to keep an eye on the latest and greatest of DevTools development: