Page title should contextualize the local navigation

Created on 28 June 2023, 12 months ago
Updated 2 April 2024, 3 months ago

Problem/Motivation

As part of 📌 Field UI 2023 User Research Fixed , we noticed few challenges related to our use of local tasks:

  1. Few of the test participants navigated to edit fields of an incorrect bundle or even incorrect entity type. When asked, they thought they were editing the entity type or bundle we instructed them to edit. Without knowing the content model of the site, the only indication in the UI that this is not the case is in the breadcrumb
  2. Users don't always understand what's the context for the tabs (especially problematic for the second level). For example, on Manage Display there are "Default" and "Teaser" tabs, and users didn't realize they were view modes.

Nielsen Norman describes this navigation pattern as local navigation. Their definition is following:

Local navigation is a type of navigation that is contextual to the user’s current location — showing sibling pages within the current category, and if applicable, the children or nieces and nephews of the current page.

It also says that:

local navigation indicates the category of the current page and, thus, works as an orientation element.

Currently the only UI element that indicates the category and helps with the orientation is the breadcrumb.

We are also rendering the local tasks as horizontal tabs. The design pattern usually makes people expect it to change content below the tabs, not above it. This is why navigating using Drupal local tasks (rendered as horizontal tabs) feel strange to at least some of the users.

Proposed resolution

Allow displaying the page title based on the current local tasks context. This is configurable in the page title block, which is updated to use the new pattern by default in Claro. Other themes continue to use the previous experience unless they explicitly opt-in.

We need to also figure out how to indicate the correct page title for screen readers. Current proposal is to append the current page title (current tab) to the page title: [Section page title]: [Current page title], e.g. Article: Manage fields.

We are also proposing to append the section title to the document title: [Current page title] | [Section page title] | [Site title], e.g. Manage fields | Article | Drupal. We could potentially change the separator to something like : or ». This will require changes to templates, so to keep the scope of this issue as tight as possible, ideally this could be done in a follow-up.

How this looks like with the current page titles can be seen in: https://docs.google.com/spreadsheets/d/1XhQtXZA1JCwa8qnE3vp8gyW8HJT8zZxg....

Here's how the pattern looks like on Github.com .

Interesting note is that the new behavior we are adding is also how Drupal 7 page titles worked! It doesn't look like it was an intentional change from UX perspective.

Remaining tasks

  1. ✅: 🌱 Toolbar Prototype Usability Testing Phase I Fixed

User interface changes

API changes

Data model changes

Release notes snippet

This is a UX improvement to display the page title based on the current local tasks context. Previously the page title was always displaying the current page title which was confusing to some users because this left breadcrumb as the only UI element that indicates the current context.

🐛 Bug report
Status

Needs work

Version

11.0 🔥

Component
Base 

Last updated 1 minute ago

Created by

🇫🇮Finland lauriii Finland

Live updates comments and jobs are added and updated live.
  • Usability

    Makes Drupal easier to use. Preferred over UX, D7UX, etc.

Sign in to follow issues

Merge Requests

Comments & Activities

Production build 0.69.0 2024