Git Product home page Git Product logo

accesskey's People

Contributors

ljwatson avatar stommepoes avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

accesskey's Issues

Address backwards compatibility

Backwards compatibility needs to be addressed explicitly. Ideally a web site that put an access key on an element and also had a bare key listener for that same key shouldn't break. Or if you think it should break, explicitly say so and explain why the impact is minimal.

duplicate values

The HTML 4 and HTML5 specifications do not explain what to do if the same accesskey value is used for two different elements. Since this does happen, that should be fixed.

Handling third party system-wide shortcuts

This might be an edge case, but possibly something to consider...

On Windows (and possibly other platforms) there are third party applications that set system-wide keyboard shortcuts. An example being the (small) collection of GUI-less Twitter clients used by screen reader users on Windows.

Modifier keys?

Here are some examples of real-world shortcuts implemented by existing web apps:

  • 'C' to compose a new message in Gmail/Inbox
  • Ctrl+Shift+C to do a Word Count in Google Docs
  • Shift+A to "reply all" in Yahoo Mail
  • 'L' to like the current story on Facebook
  • '/' to focus the search box on Twitter
  • 'C' to create an issue on GitHub

It doesn't sound like any of these apps could switch to accesskey, because accesskey only supports the browser modifier keys.

Is there any reason accesskey couldn't be expanded to support key combinations with modifier keys explicitly, like Shift+A or Ctrl+Shift+C?

Why allow focus only, why not require activation?

The spec says that when a user presses the access key, the user agent must focus the target element, but it may trigger the action of the command.

Why?

If user agents are allowed to not trigger the action of the command, then authors can't rely on accesskey as a replacement for existing shortcuts that trigger actions. That will result in authors sticking with JavaScript key handlers rather than switching to accesskey.

I propose that we require user agents to trigger the action of the command if accesskey is placed on an activatable element. That will make it more useful to authors and encourage its adoption.

Why is this needed

The proposal needs to explain what is wrong with the current spec / implementation and why we need this replacement.

Make accessKeyLabel or an equivalent parseable?

For javascript developers, knowing what accesskey is used, not just what is specified, would enable better conflict management by allowing finer-grained decisions on what accesskeys to request.

The current implementation state of accessKeyLabel seems pretty sad anyway, so it is unlikely that a change would break much.

Key conflict management

How do different UAs factor into the processing model defined in 5.5.3 (Processing model)?

If the browser handles the processing, which ultimately seems likely since it'll have to update the accessKeyLabel based on the assigned accesskey, is the intention that it'll negotiate with any AT running at the time? If not, how/where does the hand-off between the browser and AT take place in the processing model?

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.