Comments (2)
...the issue where we are implementing the drop-down feature is this.
The specific part where we discuss this issue there is: backdrop/backdrop-issues#2107 (comment)
from smartmenus.
Hi @klonos, of course, I am happy to hear that! :) Hope the integration goes smooth!
Like you've found out already:
. When the last item is reached, the next key tap moves the active menu back to the first one (and the reverse). In our case, this was not obvious because we need #2160
the up/down keys cycle through the current menu's items (actually the same goes for the left/right keys for a horizontal main menu). This is indeed a feature (desktop menus on Windows and to some extend macOS function similarly) and currently there is no way to disable it but I will consider providing an option in the next release of the keyboard add-on.
I ran quickly through your issue so here are some comments to annoyances you've mentioned:
Reaching the last child of a series of submenus and hitting the right key should do nothing (that's what I personally expect?), but it jumps to the next top-level menu item instead.
This is again a feature and mimics the way desktop menus function in macOS/Windows.
When a series of submenus reaches the end of the screen, smartmenus lives up to its name and starts unfolding the menus to the left ( 👍 this prevents the menus from being rendered outside the viewport), but navigating to them works by the right arrow key. WTF?! (I'd expect this to switch to left instead).
Yeah, at first swapping left/right in that case seems logical but there is a major problem with that. Imagine we swap left/right in the following case:
Now what should happen on "left" - move to the parent item or to the sub menu? :) I believe this is one of the reasons desktop sub menus function like SmartMenus (again :) ) - "left" always goes to the parent and "right" to the sub menu (except, of course, in RTL mode where it's reversed).
I would expect that hovering over the menu with the mouse makes the item active and I can then continue navigation via the keyboard. This does not happen though.
This is a nice idea! I will consider implementing it in a sensible way (it we simply focus the hovered item, I believe it would cause issues in some cases but, as I am thinking, it might possibly be implemented in a more unobtrusive way.)
Menus with to many top-level menu items fold to a second line of menus (might be confusing).
Yeah, the items are floated and this is the way floats work in CSS - the good thing is that at least the items remain usable. There are, of course, some possible approaches to avoid this "issue" like this custom (still not official) addon I created a while ago which adds a dynamic "More" last main menu item and hides proper main menu items if needed to prevent wrapping:
http://www.smartmenus.org/forums/topic/desktop-menu-when-more-item-clicked/
I guess there might be other sensible approaches too but I don't personally think this issue is a show stopper and it only happens in certain cases and it could also be avoided just via CSS.
from smartmenus.
Related Issues (20)
- smartmenus with "Content-Security-Policy" HOT 6
- Menu Z Index question. HOT 2
- Google SEO 2022: Complete SEO Beginner's Guide
- Pay Per Click vs. Search Engine Optimization
- On-Page vs Off-Page SEO: What's the Difference?
- please add new tag
- A11y: menu toggle button needs a :focus halo HOT 2
- A11y: ESC key should dismiss expanded menu HOT 1
- Second click on link not functional on Bootstrap 5 HOT 1
- A11y: submenus should not open/close on focus HOT 2
- A11y: replace span subIndicator with button HOT 2
- eval of user controlled data? HOT 6
- please add support bootsrap 5 HOT 8
- fix warning
- A11y: add role="button" to span subIndicator HOT 1
- a11y: move the <span> subindicator outside the menu link anchor tag
- [A11Y] aria-current on active menu item HOT 1
- SmartMenus should log errors to console, not use `alert()` HOT 2
- Question about SmartMenus 2 initialization HOT 2
- Programmatically open/hide SmartMenus 2.0 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from smartmenus.