Skip to content

Hints not appearing on elements with large border-radius values or when space is limited #300

@ar-rm

Description

@ar-rm

Describe the bug
Elements with sufficiently high border-radius values cause the Vimari hint label to not appear.

This is how I found the issue. But in my testing I found that it might be fundamentally about the available space and hiding as a result of overflow: hidden.

Screen Shot 2024-08-15 at 4 14 13 PM

To Reproduce

  1. Add border-radius: 999em to an element (commonly used to create a pill shaped element.)
  2. Invoke Vimari
Testcase (html, css)
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>Testacase: Hints not appearing on elements with large `border-radius` values or when space is limited</title>
    
    <style type="text/css" media="screen">        
      li {
        margin-bottom: 20px;
      }

      a {
        padding: 10px;
        color: white;
        background-color: black;
      }

      code {
        margin-right: 10px;
      }
    </style>

  </head>
  <body>
    
    <ol>
      <li>
        <code>border-radius: 126px</code> <a href="#0" style="border-radius: 126px;">✅ Has Vimari hint</a>
      </li>

      <li>
        <code>border-radius: 126px; padding: 0</code> <a href="#0" style="border-radius: 126px; padding: 0px;">❌ No Vimari hint</a>
      </li>

      <li>
        <code>border-radius: 127px</code> <a href="#0" style="border-radius: 127px;">❌ No Vimari hint</a>
      </li>


      <li>
        <code>border-radius: 127px</code> <a href="#0" style="border-radius: 127px;">❌ No Vimari hint <span>✅ Child element has Vimari hint</span></a>
      </li>
    </ol>

  </body>
</html>

(For Vimari to work, you'll have to run this from a server, ie: localhost, not file://. But you already knew that :-)

There's a relationship between the font-size and the border-radius value. Above/below a certain value and the hint appears/disappears (Examples: 1, 3,4). You can see this by zooming the page in/out (I'm not able to figure out the exact ratio). Also you have to dismiss Vimari, change the zoom level, and then re-invoke Vimari to see the differences.

I also noticed that if you add a child element (Example: 4) the hint appears on that child element.

Then I noticed if you remove the padding on the parent <a> it will also affect whether the hint shows or not. Example: 2.

So I think this is ultimately about available space. Maybe there's an overflow: hidden somewhere that's causing this?

Possibly?:

overflow: hidden !important;

Expected behavior
A Vimari hint should appear on the element but doesn't.

Desktop (please complete the following information):

  • macOS version: 12.7
  • Safari version: 17.4
  • Vimari version: 2.1.1

Additional context

  • Vimium doesn't get tripped up by this.

Thank you for Vimari!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions