Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[UX] Be consistent about appending the parent page to the breadcrumb (or not). #1509

Open
klonos opened this issue Jan 10, 2016 · 4 comments

Comments

@klonos
Copy link
Member

klonos commented Jan 10, 2016

Somewhat similar/related to #1508

This inconsistency has been bothering me for some time. It makes pages with non-default (other than the first) tabs seem to be having a duplicate/extra breadcrumb trail, while the default pages don't have it...

So for example in /admin (where the "Tasks" tab is the default tab) we have this as a breadcrumb/title/tab combo:

Home > Administration > Tasks

backdrop-admin-tasks

While in /admin/index we have:

Home > Administration > Administration > Index

backdrop-admin-index

...it should instead be like so (lose the "Administration" part of the breadcrumb):

Home > Administration > Index

...or alternatively (if people feel that the "Administration" part of the breadcrumb should stay there for navigation purposes), be consistent and add the parent page as a breadcrumb trail also on default tabs.

Another issue that bothers me here is that the invisible "you are here" breadcrumb code (for use with screen readers I guess) stops at the parent page. I think we should be appending the current tab in the breadcrumb (even if as an invisible element). Separate issue?

@quicksketch
Copy link
Member

The current behavior is pretty much exactly consistent with the path shown in the URL. Whether that's intuitive or not is up for question.

If you are at /admin, then the "Tasks" default menu item is active. But the breadcrumb only shows "Home" because the only parent URL is /.

If you click "Index", now you are at /admin/index. So the breadcrumb updates and now there is a link to the parent URL of /admin.

There are hidden URLs for the default primary tab, such as /admin/tasks, but these URLs are never shown to the end-user for default tabs. They always just truncate to the shorter version of the URL.

I think we should be appending the current tab in the breadcrumb (even if as an invisible element). Separate issue?

Looks like you did already in #1508. Sorry that appears to be something else. Separate issue may be better. It will probably be more cut and dry than this one.

So right now, URLs and Breadcrumbs are nearly identical in output. If we decide to change this so that the parent menu item of default tasks is also shown, we'll be introducing a different kind of inconsistency.

@klonos
Copy link
Member Author

klonos commented Jan 16, 2016

...Separate issue may be better.

Done!

@klonos
Copy link
Member Author

klonos commented Jan 16, 2016

...as for this issue here. I filed it because it bothered me that when switching from one local task (that happened to be the default) to another, there was something added in the breadcrumb although I did not change level/depth.

...and the other way 'round, when switching through various local tasks, the breadcrumb was consistent until I switched to the first/default task. At that moment, the breadcrumb was cut short for some reason.

@klonos
Copy link
Member Author

klonos commented Jul 21, 2016

The current behavior is pretty much exactly consistent with the path shown in the URL. ... There are hidden URLs for the default primary tab, such as /admin/tasks, but these URLs are never shown to the end-user for default tabs. They always just truncate to the shorter version of the URL.

Well not exactly consistent. The consistency lies in the fact that we do this for all default primary tabs. But that is not consistent with the rest of the primary tabs. Now with redirect in core, I think it's time to sort this issue (with BC added):

  1. Make it so that even the default task/tab is added to the URL (with the old URL redirecting to the new, updated one).
  2. Make breadcrumbs work like actual breadcrumbs with whatever we decide is a sensible default for most use cases (TBD). This should happen for both the back-end as well as the front-end themes, but still allow users/modules to override the default output.
  3. Leave the <h1> page title as is, having it be an indicator of the admin section people are in.
  4. Leave the primary local tabs as indicators as to what sub-section of the admin UI people are in.
  5. Have the page title (<title> tag) be a concatenation of 3 and 4 above.

So, how I envision things is that instead of this:

URL Breadcrumb Page title (h1.page-title) Page title (<title> tag)
/admin Home > Administration Administration "Administration | [site-name]"
/admin/index Home Administration "Administration | [site-name]"

...we get this:

/admin -> redirect to /admin/tasks

URL Breadcrumb Page title (h1.page-title) Page title (<title> tag)
/admin/tasks Home > Administration > Tasks Administration "Administration Tasks | [site-name]"
/admin/index Home > Administration > Index Administration "Administration Index | [site-name]"

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

No branches or pull requests

2 participants