Problem/Motivation
On the Workspaces listing screen (/admin/config/workflow/workspaces), we currently try to show which workspace is currently active by highlighting its row in the table:

However, highlighting the row which contains the active workspace is very unclear and it doesn't really achieve its purpose.
Steps to reproduce
Enable the Workspaces module and navigate to /admin/config/workflow/workspaces.
Proposed resolution
This issue was discussed in a usability meeting on Jan 16th 2020 (see #3092553-6: Add a row for switching to the live workspace in the Workspaces listing UI), and the consensus was to replace the table row highlight with a strong emphasis on the workspace label, and add a (active) suffix.
Remaining tasks
Reviews.
User interface changes
Workspaces listing page with the proposed changes:

API changes
Nope.
Data model changes
Nope.
Release notes snippet
Nope.
| Comment | File | Size | Author |
|---|---|---|---|
| #15 | 5 off canvas switch.mp4 | 1.37 MB | rkoller |
| #15 | 4 workspaces list switch.mp4 | 981.57 KB | rkoller |
| #15 | 3 admin toolbar workspaces link.mp4 | 2.4 MB | rkoller |
| #15 | 2 stage sequential.mp4 | 1.99 MB | rkoller |
| #15 | 2 stage tab.mp4 | 674.78 KB | rkoller |
Comments
Comment #2
amateescu commentedHere's a patch which applies only on top of #3092553: Add a row for switching to the live workspace in the Workspaces listing UI, not sending it to the testbot for now. However, the issue summary contains before/after screenshots, so the issue can be reviewed before that other one is committed.
Comment #3
mitthukumawat commentedThe patch applied successfully and the active workspace indicating as expected.
Adding screenshots for reference.
Comment #4
mitthukumawat commentedComment #5
amateescu commentedThis patch depends on #3092553: Add a row for switching to the live workspace in the Workspaces listing UI so it can't be committed. Also, before/after screenshots were already posted in the issue summary.
The Needs Review status is only for accessibility review.
Comment #8
lendudeThe other issue has landed, so if I'm reading this right, we can now kick off the bot for this patch, let's see what it does
Comment #10
needs-review-queue-bot commentedThe Needs Review Queue Bot tested this issue. It either no longer applies to Drupal core, or fails the Drupal core commit checks. Therefore, this issue status is now "Needs work".
Apart from a re-roll or rebase, this issue may need more work to address feedback in the issue or MR comments. To progress an issue, incorporate this feedback as part of the process of updating the issue. This helps other contributors to know what is outstanding.
Consult the Drupal Contributor Guide to find step-by-step guides for working with issues.
Comment #11
amateescu commentedRerolled the patch for 10.1.x. Still needs accessibility review...
Comment #12
amateescu commentedFixed that test failure, we need to keep the
#titleproperty on each row in the list builder because we use it in the off-canvas switcher.Comment #13
nayana_mvr commentedVerified the patch #12 and tested it on Drupal version 10.1.x. The patch works fine. Now the active workspace row is highlighted with a strong emphasis on the workspace label, and add an
(active)suffix. I have added the before and after screenshots for reference.Comment #14
smustgrave commentedBrought this up in the accessibility channel
From @rkoller
Think we need to announce when a workspace is switched or announce the active one one.
Comment #15
rkollerTook me a little longer than planned but i've created a few screenrecordings on macos 12.6.1 with safari 16.1 and voiceover to illustrate a few potential problems in the context of indicating which is the active workspace:
1. on one hand i agree with the assessment in [3092553-6] that grey as the highlighting color for the active workspace is sort of unclear. but on the other hand only providing text for labeling the active workspace requires that the user has to read. as sarah horton put it in "a web for everyone":
In the current state of the patch a user has to skim across the workspace name until (active) is reached there isn't no other visual cue anymore indicating the active workspace aside text.
2. i've recorded four videos on the workspaces list page. two videos, one
tabbingthrough the interface and onectrl option spaceclicking through the interface, with theliveworkspace active and the same two approaches with thestageworkspace active.live(tab - https://www.drupal.org/files/issues/2023-03-05/2%20stage%20tab.mp4)
as you can see due to the fact that
Live (active)is plain text it is invisible for someone just tabbing through the focusable items. at the same timeLive (active)isn't listed in any of the rotor sections either. in combination with point 3 it makes things for someone just tabbing challenging.live (sequential with ctrl option arrow right - https://www.drupal.org/files/issues/2023-03-05/2%20live%20sequential.mp4)
when the user steps through the aural interface sequentially
live (Action)is properly announced all good here.staging (tab - https://www.drupal.org/files/issues/2023-03-05/2%20stage%20tab.mp4)
if you tab to
switch to liveit sounds likeliveis not active. if you go on tabbing you now hear juststage, meaning thestageworkspace is not active and then you get topublish contentwhich might indicate that thestageworkspace IS active otherwise it wouldnt be possible to publish content. but for a screenreader user that is potentially confusing.staging (sequential with ctrl option arrow right - https://www.drupal.org/files/issues/2023-03-05/2%20stage%20sequential.mp4)
when you step through the aural interface sequentially it is possible to understand the situation better. but due to the fact that the link element is just wrapped around the term
stage,stageand(active)are announced separately. it isnt necessarily clear if they belong together. firststageis announced belonging to row 3 of 3 in column 1 of 3. foractivethat position isnt directly announced.the next three points are not directly in the scope of this issue but definitely at least related.
3. in general it is difficult to assess the active workspace with a screenreader if the user is on a page != the workspaces list page. as you can see in the video (https://www.drupal.org/files/issues/2023-03-05/3%20admin%20toolbar%20wor...) the page title gives no indication and within the rotor in the links section you have just the term
livewithout any context as illustrated in the devtools inspecting the link element in the end of the video.it might be an option to add the context via a visually hidden span appending something like
active workspaceor maybe justworkspace? in other sections of the rotor i was unable to find anything workspace related. or would it be also an idea to add an indication of the active workspace somewhere else as well? maybe append a visual hidden span to the page title providing the context there for active workspaces !=live?4. in regards of the announcement of the workspace switch i've recorded the two possible ways. first the switch via the
switch to stagebutton on the workspace list page (https://www.drupal.org/files/issues/2023-03-05/4%20workspaces%20list%20s...).ctrl option spacetheswitch to stagebutton.skip to main content.ctrl option spaceas suggested.activate the. that made me insecure while being in a confirmation step. i've cheated and took a look and saw the textactivate the stage workspacewas there. i just pressed the tab key once.ctrl option spaceagain with theconfirmbutton in focus.stageworkspace i get the announcement that i could directly skip to main content?*i've stopped the video too early but if i press
ctrl option spaceagain and jump to the main content the success message gets into focus but is not getting announced. that way the user doesn't know the switch was a success).**and on another side note when switching from
stagetolivethe message on the confirmation page (Switch to the live version of the site) is completely announced. on the confirmation page for switching to thestageworkspace onlyactivate theis announced. the italic styling ofstageis preventing that the whole sentence is announced at once.5. i've opened the off canvas dialogue with ctrl option space (https://www.drupal.org/files/issues/2023-03-05/5%20off%20canvas%20switch...).
stage(is that a workspace as well?) then it gets announced that the current workspace is live and that there are other workspaces? but what are the other workspaces? there arent any announced. so i wonder isstageone of the "other" workspaces? and then comes all workspaces. over all packed and hard to digest information if i am only following the announcement and don't peek on the screen.ctrl option arrow rightnow to get theview all workspaceslink into focus. as soon as it gets into focus the layout changes? i've pressedctrl option arrow leftto get back tostageand pressedctrl option space.ctrl option spaceto confirm.skip to main content. the confirmation that the switch was successful is missing.Comment #17
rkollerwhile writing up a comment to another issue in the workspaces queue i realized one detail that is missing for screenreader users. After a brief search i've rediscovered this one (already forgot it existed and i've already commented on)
One detail that might be considered to be added to the current MR which might help screenreader users tremendously is adding the active workspace to the title tag in the head. Currently the title is:
[h1] | [site name]that might be change to:
[h1] | [active workspace] workspace | [site name]so that you get for example when you are on
/admin/structure/typeswhenStageis the active workspaceContent types | Stage workspace | My Drupal siteThe title might become a bit verbose and lengthy but that way all the necessary information is frontloaded, LTR from the specific to the more general (the screen reader user is able to jump off at any point). that means first you have the h1 then the active workspace and then finally the site name. and since screenreaders get the page title announced when loading a page the overall context would be provided satisfying WCAG 2.2. SC 2.4.2. (i've added also the tag wcag242)
Comment #19
rkollerone addition, also adding SC 1.4.1 (the use of color.) just in the context of the table, color is the only way to distinguish the active workspace from the rest.
Comment #20
benjifisherWe discussed this issue at #3568606: Drupal Usability Meeting 2026-01-30. That issue will have a link to a recording of the meeting. I am adding issue credit for the participants: @pallavi singh3013, @rkoller, @simohell, and @the_g_bomb.
Comment #21
rkollerUsability review
We discussed this issue at #3568606: Drupal Usability Meeting 2026-01-30. The recording of the meeting: https://youtu.be/80LmftxqFSk. The attendees at the usability meeting were @pallavi singh3013, @rkoller, @simohell, and @the_g_bomb.
We not really have anything to report yet. We did an initial exploration, me demoing the problem space this issue is about. And the group agreed on revisiting this issue in one of the next meetings to actually discuss potential recommendations.
The only questions that arose during the meeting were what would be the number of workspaces to expect on a site that is heavily using workspaces? Are we talking of 4 to 10 workspaces, dozens of workspaces, or could that number be even higher? And the other question is what is the expected number of levels? In my tests after the meeting I've created 6 levels of child workspaces, and it looked like there is no actual limit to the number of levels.
Comment #22
amateescu commentedOn a large project that uses workspaces exclusively for editing various sections of their site, I'm seeing 130 in-progress workspaces and more than 1100 closed (published) ones :)
That's correct, there's no limit to the number of levels, but in practice this feature is rarely used.
Thanks for looking into this!