Feature Request: Custom Clickable Element Selectors
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 27k
- Forks
- 2.6k
- PR merge metrics
- No merged PRs in 30d
Description
I use a few sites daily that have clickable elements that lack semantic indicators such as class names containing button, proper roles, etc. This makes vimium missing these elements in link hints, and I understand why and that it's hard and probably impossible to fix for all edge cases.
Most of them are different kinds of lists, see examples below.
It would be great if the vimium users had the option to add custom attributes and/or classnames, maybe even whole html-tags with wildcards, in the settings to fix these special case issues. Preferably domain-specific to not trigger false positives on the rest of the internet.
Example 1
<div role="row" row-index="0" row-id="0" comp-id="660" class="ag-row ag-row-no-focus ag-row-even ag-row-no-animation ag-row-level-0" style="height: 48px; top: 0px; " index="0">...</div>
<div role="row" row-index="1" row-id="1" comp-id="671" class="ag-row ag-row-no-focus ag-row-odd ag-row-no-animation ag-row-level-0" style="height: 48px; top: 48px; " index="1">...</div>
<div role="row" row-index="2" row-id="2" comp-id="682" class="ag-row ag-row-no-focus ag-row-odd ag-row-no-animation ag-row-level-0" style="height: 48px; top: 48px; " index="2">...</div>
...
Example 2
not sure what hackery they did here, all these tr-lines are perfectly tabable eventhough they have the attribute tabindex="-1"
<tr class="cursor row-hover white" data-cid="c1853" tabindex="-1">...</tr>
<tr class="cursor row-hover white" data-cid="c1857" tabindex="-1">...</tr>
<tr class="cursor row-hover white" data-cid="c1861" tabindex="-1">...</tr>
...
Example 3
Shouldn't tabindex > -1 make these hinted with f/F?
<div class="rt-tr-group table-tr" tabindex="0" draggable="true" id="1041">...</div>
<div class="rt-tr-group table-tr" tabindex="0" draggable="true" id="1042">...</div>
<div class="rt-tr-group table-tr" tabindex="0" draggable="true" id="1043">...</div>
...
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
No source files or tests are named. Start by tracing Vimium’s link-hint candidate detection and settings flow, then compare the three HTML examples; done means users can configure domain-specific selectors for these elements without introducing unwanted hints elsewhere, with regression coverage.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- frontend, web-dev
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100