philc / philc/vimium

Some nested link anchors inside inline SVG aren't assigned key after pressing `f`

Open
#4,475 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
27k
Forks
2.6k
PR merge metrics
No merged PRs in 30d

Description

Describe the bug

Some link anchors nested inside an inline SVG do not get picked up as interactable after pressing f.

I have tried to investigate why this is, and if I've done anything wrong here, but I can't find what is exactly going wrong. I have noticed that an error is logged to the console if I hit f when I have the standalone SVG opened in the browser, if that helps.

To Reproduce

Steps to reproduce the behavior:

  1. Go to URL https://svgo.dev/
  2. Scroll down to the Integrations section, which features two clickable items in the SVG.
  3. Press f
  4. Observe, the Docusuaurs logo has a key associated with it, but the PostCSS logo does not.

The following image showcases the website with tab order displayed. You can see that that Vimium has associated a key with all interactable elements on the screen except one, the PostCSS logo:

The following is the standalone SVG, an error appears in the console when I open the local file in the browser and hit f:

svgo_integrations

TypeError: MutationObserver.observe: Argument 1 is not an object.

— ui_component.js:124:14

Browser:

Name 	Firefox
Version 	126.0
Build ID 	20240509170740
Distribution ID 	mozilla-flatpak
Update Channel 	release

Vimium:

Version 2.1.2
Last Updated 4 April 2024

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue at svgo.dev by opening the Integrations section and pressing f, then inspect ui_component.js around line 124 and the MutationObserver error. Trace why the PostCSS SVG link is skipped while the Docusaurus link is assigned a key. Done means both clickable SVG items receive keys and pressing f no longer logs the observer error.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
63/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.