Code Monkey home page Code Monkey logo

Comments (4)

cookiengineer avatar cookiengineer commented on August 20, 2024

Indeed it would be nice to have a better learning experience when it comes to the usage of shortcuts and mouse/touch interactions. Maybe something like a [?] icon in the bottom of the sidebar could trigger the help overlay?

Tabs currently can be closed by double-clicking or double-touching them or by pressing [F6].

from stealth.

cookiengineer avatar cookiengineer commented on August 20, 2024

As of ba4a48d the context menu has a Close Tab functionality, which integrates the browser.close() action with others on right click.

What's missing for mobile/tablet usage is a long-touch integration to open the context menu as there's no right click possible.

Safari on iOS specifically is broken here, the upstream bug is:

from stealth.

cookiengineer avatar cookiengineer commented on August 20, 2024

Upstream comment from WebKit developer(s):

AX: contextmenu event fired on Mac (w/VoiceOver) but not iOS (w/VoiceOver)

On Mac with VO, pressing VO+Shift+M (show contextual menu) triggers the `contextmenu` JavaScript event, equivalent to a mouse-triggered right-click or Ctrl+click. I assume this is because of a Mac implementation detail, and that it's been this way since `contextmenu` was implemented in WebKit... This is expected behavior on Mac.

On iOS, there are accessibility-triggered ways to show context menus in native UI: Home Screen icons for example. VoiceOver's default gesture for this is single-finger triple-tap. It used to be long-press, as mentioned by "cookiengineer" (no relation). The iOS VO key press is the same as Mac: VO+Shift+M. Yet neither of these trigger in Safari or other WebKit views.

I don't think this is purely an accessibility issue. As far as I am aware, there is no mainstream UI way to trigger a `contextmenu` event in iOS WebKit. As such, we should not add an accessibility-only way to trigger this event, as it could reveal the use of assistive technology.

Perhaps this bug should be blocked on a new WebKit issue to support `contextmenu` with a mainstream gesture or keypress if appropriate. (Disclaimer: I have not fully considered the implications, so there may be unexpected downsides.)

from stealth.

cookiengineer avatar cookiengineer commented on August 20, 2024

I'm closing this issue as it depends on upstream Safari/WebKit supporting the contextmenu event, and there's nothing I can do to fix this without that integrated functionality except to simply not use Safari.

I won't start with custom polyfills for UX events, because that's not what users expect; and will break more than it will solve down the line.

from stealth.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.