Problem/Motivation
Followup from #3153260: Standardize Olivero's focus states across all non-form controls
Olivero is using an outline-offset to indicate focus states around hyperlinks. In certain cases where a link is directly adjacent to a container that has the overflow property set, part of the focus state can get cut off.
This includes
- Mobile - Primary menu submenus
- Mobile - Breadcrumbs

Steps to reproduce
1. In the Drupal website use Olivero as default theme
2. Add the breadcrumb block to the page or content type nodes.
3. Visit the pages via the Mobile/Tabs
4. Click the breadcrumb link and observe the outline highlight.
Proposed resolution
Update the CSS logic on core/themes/olivero/css/components/breadcrumb.css
Remaining tasks
Nil
User interface changes
Before

After

Introduced terminology
N/A
API changes
N/A
Data model changes
N/A
Release notes snippet
N/A
| Comment | File | Size | Author |
|---|---|---|---|
| #46 | After patch Ipad.png | 29.01 KB | sagarmohite0031 |
| #46 | Before patch Ipad.png | 42.55 KB | sagarmohite0031 |
| #46 | After patch Mobile.png | 30.39 KB | sagarmohite0031 |
| #46 | Before patch Mobile.png | 24.22 KB | sagarmohite0031 |
| #33 | olivero-focus-3200584.patch | 879 bytes | sheetal.pathak |
Issue fork drupal-3200584
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #2
gauravvvv commentedI have attached a patch for the issue and added after-patch screenshots for reference. Please review.
Comment #3
gauravvvv commentedComment #4
gauravvvv commentedComment #5
imalabyaThe overflow property has the default value of visible, so we can remove the property unless we are overriding the value.
Comment #6
gauravvvv commentedUpdated patch as per comment #5.
Comment #7
gauravvvv commentedComment #8
hinal05 commentedApplied patch #6. Got same issue for Home link in breadcrumb. After applied patch, there is no change in breadcrumb. Please check the screenshots.
Comment #11
jenniferhoude commentedTested Patch #6, Including screenshot to show the patch is working.
Comment #13
jenniferhoude commentedComment #14
mherchelThanks for the work on this!
Removing this will cause long breadcrumbs to overflow (potentially off the page) instead of creating a horizontal scrolling region. When you test this, use browser developer tools to add many items into your breadcrumbs to see how they interact.
Removing this causes the submenu closing transition to be weird, where it will remove the menu, but the links take a bit longer to fade out. Attaching a video.
When you're removing code, also try to think "What was the original purpose of this? Why was it included?" and then make sure you account for that case.
Comment #15
jenniferhoude commentedComment #17
kiran.kadam911@mherchel Please check below findings related to this issues,
We can remove this overflow because its outer wrapper(.breadcrumb__content) also having overflow auto so using that breadcrumb will work same as expected.
Instead of removing overflow here we can add 3px padding(top & bottom) to active child(.primary-nav__menu--level-2.is-active-menu-parent) which will resolve child menu focus issue and even transition will remain as it is.
Here I am attaching a screen video please have a look. So that we can go ahead or think of another approach.
Thanks!
Comment #18
kiran.kadam911@mherchel Here I am providing another solution to this issue.
Kindly review the attached patch and feel free to add your opinion on this.
Here I am attaching a screen video please have a look. So that we can go ahead or think of another approach.
Note: There are some diff changes of the
semi-colon(;)removal innav-primary.csswhich is an auto process for the single property we can ignore that.Thanks!
Comment #19
kiran.kadam911Comment #20
kiran.kadam911Since custom commands failed, here providing an updated patch after fixing drupalci issues. Rest other things are fine and as per #18 description.
Kindly review the attached updated patch.
Thanks!
Comment #22
mherchelWe have this added so the breadcrumbs container will horizontally scroll in the event there are more breadcrumb items than the space can accommodate. We need to keep this.
Comment #23
mherchelScratch my last comment. The parent selector has
overflow: auto, so we do not need the overflow-x property.Comment #24
sakthivel m commentedJust Re roll the patch 9.3.x
As per the @mherchel last comment. so we have keep it
overflow: autoand removed overflow-x property.patch #20 working as expected.
@kiran.kadam911 Thanks for the patch.
Comment #25
chetanbharambe commentedVerified and tested patches #20 and #24.
Patch applied successfully and looks good to me.
Testing Steps:
# Goto: admin/config/development/performance
# See Breadcrumbs
# Check the focus
# User should see focus state outline should be accurate.
Expected Results:
# User should see focus state outline should be accurate on a element.
# User should see The parent selector has
overflow: auto# User should not see
overflow-x propertyActual Results:
# User is able to see
overflow: autoin Child selector# User is able to see focus state outline is getting cut off.
As per the @mherchel last comment. so we have kept it
overflow: autoand removed theoverflow-xproperty.Can be a move to RTBC
Comment #26
alexpott@lauriii and I have discussed this issue. It would be great if the issue summary was updated to contain steps to reproduce the issue and define the entire scope. There seems to be overflow issues for both primary menu and breadcrumbs - can the issue summary have steps for both situations.
Also the latest changes from #18 onwards significantly changed the solution - it would be great to have a detailed explanation of why we moved from a change that only changes overflows to a more complex solution.
All these removals of semi-colons is very odd. Seems to be a bug in the build system. I think we should land #3246141: Update JavaScript dependencies prior to 9.3.0 first and see if it fixes it.
Comment #27
vikashsoni commentedApplied #20 and #24 patch working fine giving expected result
for ref sharing screenshot ....
Thanks for the patch
Comment #32
mgiffordTagging for https://www.w3.org/WAI/WCAG21/Understanding/focus-visible.html
Comment #33
sheetal.pathak commentedHi
I checked both issues in 11.x-dev.
Mobile - Primary menu submenus is fixed in checked version
Mobile - Breadcrumbs - Issues still exists.
I have created patch for it. Adding before and after screenshots for reference.
I have created Patch file as I am facing issue in creating MR (new branch).
Comment #39
preeti.chawla commentedHi,
I checked both issues on the 11.x-dev version. The breadcrumb display on mobile was not working correctly, but it’s functioning well after applying the patch. However, I couldn’t reproduce the primary issue; it works fine without any patch. So I’ve created a merge request for patch #33.
Comment #40
arunkumarkComment #42
smustgrave commentedHave not reviewed, issue summary is incomplete.
Comment #43
arunkumarkComment #44
arunkumarkComment #45
arunkumarkUpdated the issue summary. Moving to NR.
Comment #46
sagarmohite0031 commentedHello,
I have tested and verified this issue on Drupal 11.x version with Oliviero.
MR applied successfully.
Testing steps:
Step1 : Install Drupal use Olivero as default theme
Step2 : Add the breadcrumb block to the page or content type nodes.
Step3 : Visit the pages via the Mobile/Tabs
Step4 : Click the breadcrumb link and observe the outline highlight.
Attached the Before and After Screenshot for Mobile/Tab.
Hence can be move to RTBC
RTBC+1
Comment #47
saurav-drupal-dev commentedReviewed the MR RTBC+1
Comment #48
smustgrave commentedBased on the review from #46 updating issue summary with before/after screenshots.
Saving credit for the review in #46 also.
Comment #49
nod_Thanks for sorting out the credits!
left a question
Comment #51
quietone commentedThe Olivero theme was approved for removal in #3590816: [policy, no patch] Deprecate Olivero and move to contrib.
This is Postponed. The status is set according to two policies. The Remove a core extension and move it to a contributed project and the Extensions approved for removal policies.
The deprecation work is in #3595082: [meta] Tasks to deprecate the Olivero theme and the removal work in #3595085: [meta] Tasks to remove the Olivero theme.