Skip to content

fix: make top nav bar right elements within a nav - #63239

Open
kristian-zendato wants to merge 1 commit into
masterfrom
fix/top-navbar-right-elements-nav
Open

fix: make top nav bar right elements within a nav#63239
kristian-zendato wants to merge 1 commit into
masterfrom
fix/top-navbar-right-elements-nav

Conversation

@kristian-zendato

Copy link
Copy Markdown
Contributor

Summary

  • Move the top navbar right elements within a nav element.

Checklist

AI (if applicable)

  • The content of this PR was partly or fully generated using AI

Signed-off-by: kristian.zendato <kristian.zendato@nextcloud.com>
@kristian-zendato
kristian-zendato requested review from a team as code owners August 14, 2026 06:42
@kristian-zendato
kristian-zendato requested review from icewind1991, leftybournes, provokateurin, skjnldsv, sorbaugh and susnux and removed request for a team August 14, 2026 06:42
@susnux
susnux requested a review from pringelmann August 14, 2026 13:30
<div id="contactsmenu"></div>
<div id="user-menu"></div>
</div>
<nav class="header-end" aria-label="<?php p($l->t('User menu')); ?>">

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thats not the user menu, the user menu is the one on the very end.
This navigation should have a different label

Also the content within must have proper roles.

  • ul needs role = menubar
  • li needs role = none
  • button within need role = menuitem -> this needs to be fixed in NcHeaderButton

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@susnux The user menu is already in nav wrapper.
As far as I checked the comment here(https://github.com/nextcloud-gmbh/customer-feature-requests/issues/1591#issuecomment-5281587123), we need to move the whole top navbar within a nav wrapper which is in div now.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's the issue though: wrapping it means nav inside nav. Fine to have the outer one, but then AccountMenu shouldn't set is-nav. And "User menu" is the wrong label for the whole bar either way.

Comment thread core/css/mobile.scss

@media only screen and (max-width: 480px) {
#header .header-end > div > .menu {
#header .header-end .menu {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dropping to a descendant selector means any nested .menu in the header matches now, not just the toggle's own. Can you do the same two-selector thing as below?

inset-inline: 0;
}
// Hide all other entries, especially the user menu as it might leak pixels
:global(.header-end:has(.local-unified-search--open) > :not(.unified-search-menu)) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you drop this? The local search bar is Deck-only and Deck already replaced it with its own filter input, so it's getting removed from the header anyway. No point patching selectors on it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants