User tests: Successful: Unsuccessful:
Status | New | ⇒ | Pending |
Category | ⇒ | Modules Administration Templates (admin) Repository JavaScript |
Labels |
Added:
?
|
So now I am confused because I thought that the only problem with the existing menu was that it didnt support that
When used with the menu bar toggled to collapsed
From an accessibility perspective
Very nice! But i also feel the lack of "New Item"...
Another consideration on the UX: the switch is too similar to the menu items. It should be smaller or less highlighted.
So now I am confused because I thought that the only problem with the existing menu was that it didn't support that
I honestly can't comment on that.. it wasn't from me you heard it. My reasoning for changing this to an accordion is I find the current menu gimmicky at best. Imo accordions work in almost every instance (device, number of items, expected behavior, expandable, industry standard ... ). It is fair to say we have tried everything else.
menu icons look very small to me (I am not a designer)
Personally, I have always found the icons too big in J4. I'll increase the size slightly although I would like to avoid increasing the height of each menu item. A downside to accordions is the need to scroll on larger menus, increased menu item heights would increase this probability.
menu links that have a submenu do not expand - only the direct menu items eg system
I presume you are referring to when an item is opened? The menu should stay open on the 'current' menu item?
I'll update the PR regarding the accessibility issues presuming I get any indication that this is deemed an improvement and might actually get merged.
Regarding the 'new item' option there is no reason why it can't be added to this menu after. There are both a11y and PHP considerations on how best it should be done. Neither of which are areas I am skilled in.
Status | Pending | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2018-10-11 17:26:34 |
Closed_By | ⇒ | ciar4n |
Status | Closed | ⇒ | New |
Closed_Date | 2018-10-11 17:26:34 | ⇒ | |
Closed_By | ciar4n | ⇒ |
Status | New | ⇒ | Pending |
menu icons look very small to me (I am not a designer)
Personally, I have always found the icons too big in J4. I'll increase the size slightly although I would like to avoid increasing the height of each menu item. A downside to accordions is the need to scroll on larger menus, increased menu item heights would increase this probability.
Point taken about the menu item height
menu links that have a submenu do not expand - only the direct menu items eg system
I presume you are referring to when an item is opened? The menu should stay open on the 'current' menu item?
Sorry something got lost as I was editing the report. There are two different issues
Do we really need the option to toggle the menu down to just the icons? It complicates this no end and also bordering on being a bit of a gimmick.
Personally it is essential. For me it was the thing that convinced me a vertical menu was a good choice. In all the time I have been working with J4 I have not had it expanded at all. As for it being a gimmick it is a very common design pattern.
Title |
|
My thoughts are with you Ciaran. Probably the 6th time you've revisited this and it's now back to square 1 :D
Much better using an accordion:
One thing I will say it just ensure that when you have an expanded menu item, ensure you can still scroll through the menu if there are too many items.
current and toggle now working as expected although I would add some styling to <a active similar to the styling on the active parent
.main-nav>li.active>a {
background-color: rgba(0,0,0,0.4);
}
there are still a lot of a11y errors
I have amended the styling per your a11y suggestions.
the font icon needs to be aria-hidden
the parent items have a role of menuitem which iirc is not correct as they are not active links and should have a role=presentation
the parent items should have an aria-haspopup = true
The above I am not really sure where/how to change. Could you possibly create issues and hopefully someone with the smarts can fix them. The issues are present regardless of this PR.
thanks for the styling changes they are good.
looking at the a11y stuff now
AFAICT the a11y changes can be made in a separate pr
the only bit that would be better to be done in this pr is
It should be possible to change this to regular css with list-style=circle - otherwise the screenreader announces "white circle" menu name
That was actually how this PR was initially. The issue is was when we start adding a background hover color to the 2nd and 3rd level menu items, using list-style gets difficult. There are workarounds but they come with other side effects (eg. only the text is clickable, not the whole list item).
Is there an alternative a11y solution to using the background to highlight hover?
If not we could just add HTML for the font awesome icon rather than adding it with CSS.
If not we could just add HTML for the font awesome icon rather than adding it with CSS.
You can either change it to an html span for the icon with aria-hidden=true
OR use the background technique described here by @C-Lodder
joomla-projects/custom-elements#99 (comment)
I'll try background technique using data uri
surprised hound didnt pick up on the invalid style - but when that is fixed then it should be all ok for me and as you said we can then fix all the a11y markup issues in another pr
I have tested this item
Works as intended and a11y can be addressed in a new pr
I have tested this item
Works as intended and a11y can be addressed in a new pr
I guess we should modify joomla.xml and modern.xml with something like
<menuitem
title="MOD_MENU_MENUS"
type="heading"
class="class:list"
>
<menuitem
title="MOD_MENU_MENU_MANAGER"
type="component"
element="com_menus"
link="index.php?option=com_menus"
>
<menuitem
title="MOD_MENU_MENU_MANAGER_MANAGE"
type="component"
element="com_menus"
link="index.php?option=com_menus&view=menus"
/>
<menuitem
title="MOD_MENU_MENU_MANAGER_NEW_MENU"
type="component"
element="com_menus"
link="index.php?option=com_menus&view=menu&layout=edit"
scope="edit"
/>
</menuitem>
<menuitem
type="separator"
/>
and new string
`MOD_MENU_MENU_MANAGER_MANAGE="Manage Menus"
but we have the same issue when we want to display the specific menu items directly from a menu
One has to go first to Add new menu item and then close, or choose All menu items and filter again there.
Not really user friendly.
Only way I see is to add a supplementary <menuitem> [...] />
as done above.
Good spot. However the problem is that for some reason the "menus" is not using the same "add new" as the rest of joomla. For now I would recommend removing the add new menu links here so that they can be handled exactly the same as add new article - which has not been done yet. This way all the add new will be able to be created and styled exactly the same way
So for now, remove Add New Menu and link Manage to menu manager?
Looking back at the initial talks we had about the sidebar with the UX team (pardon my language), we decided to remove all the "add new" items as we wanted to reduce the number of nested dropdowns within the accordion.
We were going to compromise with alternative quick links which may already exist now.
Not sure what plans are for this but maybe just remember that the nesting was a PITA
Makes good sense. I'll remove the "add new" item from here. Further down the line, someone might be willing and able to add the alternative quick links.
Category | Modules Administration Templates (admin) Repository JavaScript | ⇒ | Administration com_menus Modules Templates (admin) Repository JavaScript |
I have removed the 'Add New Menu' so 'Manage' now links to the menu manager. Not sure if the 'Manage' string should be changed.
Don't worry about the strings for now. They all need review/change to satisfy a111y as there should not be multiple links on a page with the same name
Note to self of fixes and a11y things to change if this is accepted (I hope it is)
Can you fix conflicts please?
I have tested this item
Category | Modules Administration Templates (admin) Repository JavaScript com_menus | ⇒ | Administration com_menus Modules Templates (admin) Repository JavaScript Front End Templates (site) |
Category | Modules Administration Templates (admin) Repository JavaScript com_menus Front End Templates (site) | ⇒ | Administration com_categories com_contact com_content com_contenthistory com_joomlaupdate com_languages com_login com_menus com_messages com_modules com_newsfeeds com_tags Language & Strings Modules Templates (admin) |
Right... think i've successfully screwed this branch up :/
Labels |
Added:
?
|
Category | Modules Administration Templates (admin) com_menus com_categories com_contact com_content com_contenthistory com_joomlaupdate com_languages com_login com_messages com_modules com_newsfeeds com_tags Language & Strings | ⇒ | Administration com_menus Modules Templates (admin) Repository JavaScript |
Labels |
Removed:
?
|
I have tested this item
The only issue I found was that when clicking on a component subitem, it doesn't expand to it on a page reload. But this can be fixed then in a followup pr.
I have tested this item
The only issue I found was that when clicking on a component subitem, it doesn't expand to it on a page reload. But this can be fixed then in a followup pr.
Second levels will now open if active
I have tested this item
I have tested this item
LGTM lets merge and then I can fix the a11y
small css change required https://github.com/joomla/joomla-cms/pull/22587/files#r225589673
You can ignore that. Chrome lists default values set by the browser as 'user'. That CSS is not in the template.
ok - maybe it is something else causing the error I am hearing with a11y - I will look into that when I do the a11y pr
Is the screenreader reading something it shouldnt?
yes - it is saying white bullet
I have tested this item
PR ready to submit to address accessibility once this is merged
PR ready to submit to address accessibility once this is merged
Status | Pending | ⇒ | Fixed in Code Base |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2018-10-18 05:04:29 |
Closed_By | ⇒ | laoneo |
Thanks, makes working with components usable.
@brianteeman @laoneo @C-Lodder Thanks for the help on this
I have no idea. I haven't been part of any conversation on the topic. I'm guessing if there is no one to implement, it probably is.