Interaction within <iframe>s steal functionality (without any hint)
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
Interacting on something within a page that's within an <iframe> will steal focus from the "main" frame
To Reproduce
- Go to a page that has an <iframe> element with (for example) a link in it
- Click the link (with your actual mouse pointer)
- Return to the original page with the <iframe>
Interacting with the page with Vimium is no longer possible for the "main" frame on the page.
It is possible to return to the main frame with the gf/gF commands. But, it's not always apparent that you need to do so. Because the child frame that now has focus gives no indication of that being the case, and Vimium doesn't hint at it either, you might return to a page and be confused as to why the page seems no longer responsive to Vimium. Only if you're familiar with a site (e.g. gmail) and know that certain frames exist in the markup will you know when there's a frame, and that you need to gf/gF to return focus back up to the main frame.
Include a screenshot if applicable.
Browser and Vimium version
Chrome: 87.0.4280.88 (Official Build) (x86_64)
Vimium: 1.66
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the iframe interaction described in the issue, then start with the focus and frame-navigation behavior exposed by the gf/gF commands. Trace how Vimium handles returning to the main frame and determine how the loss of focus can be indicated or avoided. Done means iframe interaction no longer silently leaves the main frame unusable, with the behavior covered by an appropriate verification.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100