Problem/Motivation
TODO: Expand this section with a bit of scope, e.g. MVP for Layout Builder stable release.
This is the main tracker issue for layout builder accessibility issues.
What inputs methods should we support? (What does rest of core support?) WCAG guideline 4.1 says "Maximize compatibility with current and future user agents, including assistive technologies".
Currently for instance re-ordering the blocks relies on Drag and Drop
Proposed resolution
We expect there will be substantial cross-over between this accessibility plan, and the usability plan at #2940212: [meta] Miscellaneous UI issues for the Layout Builder module. It's a good idea to study the related child issues for both plans.
TODO: Update this section to describe where we are going, based on the accessibility review collaboaration with the UC Berkeley WebAccess team.
TODO: Describe the accessibility features that help users with different impairments and/or technology choices. Make use of personas and use-case scenarios. Show examples of how the accessiblity features add value for everyone, not just people with disabilites.
Remaining tasks
Note: this triage is from an accessibility point of view only.
TODO: needs triage
All done? New issues need triage, obviously.
Unusual priority!
- #3019490: Provide a Layout Overview dialog that allows performing all actions in a text/form based method. In the endgame, this is a very-nice-to-have alternative tool for some tasks. But in the short-term, it may be the shortest route to achieving WCAG conformance, under the "conforming alternate verion" provision. If we treat this as a must-have, nearly all of the other must-haves could be demoted to should-haves. Lots of detail in comments #21 and #35 here.
Must-have
- #2995689: Allow reordering blocks without a pointer device
- #2995689: Allow reordering blocks without a pointer device
- #3037129: Use distinct accessible names for the configure-section buttons in Layout Builder UI - QUICK WIN
- #3015004: Distinguish between the repeated text of remove-section buttons in Layout Builder UI
- #3013770: Distinguish between the repeated text of buttons in Layout Builder UI
- #2968110: Layout Builder's ConfigureBlockFormBase forms do not display validation errors on submit
Should-have
- #3037742: The toggle that makes Contextual Links visible at all times might not be sufficiently discoverable - Problematic barrier for speech control users.
- #3019487: [plan] Describe layout builder UI to assistive technology
- #3042516: Re-evaluate whether Contextual Links are the best interaction for configuring/moving/deleting blocks in Layout Builder
- #3040645: Add a role=region wrapper to the Layout Builder action form to fix screen reader navigation barriers
- #2959493: Allow Layout Builder live previews to be toggled to allow easier drag-and-drop
- #2917777: Improvements to the styling, grouping, etc. of the Layout Builder UI actions form
- #2973921: Interactive controls inside preview block in the Layout Builder form should be disabled.
- @todo - follow up needed for more robustness of the approach in #2973921: Interactive controls inside preview block in the Layout Builder form should be disabled.
- #3037726: Convey successful outcome of add-block operation via assitive tech
- #3037730: Convey outcome of remove-block operation via assistive tech
- #3037733: Convey outcome of remove-section operation via assistive tech
- #3037725: Convey successful outcome of add-section operation via assitive tech
- #3042107: Layout Builder actions are inconvenient to access via keyboard navigation
Nice to have
- #2994909: Highlight active element while working with dialogs in Layout Builder
- #3037779: Configure section and Remove section links interrupt the flow for keyboard users and are visually distracting
- #3028191: When using Layout Builder, remove contextual links for blocks outside of the current layout
User interface changes
Lots! Otherwise TBD. Design work may be required.
API changes
Some optional properties in the *.layouts.yml
files look useful, particularly the "description" property which may help us convey a layout overview to visually impaired users. But since layout_discovery
module is already stable, we presumably can't make the description property mandatory as that would be a backwards compatibility break. We can improve developer documentation about about best practice, and explain why the description property is highly recommended.
Data model changes
Hopefully none?
Comments
Comment #2
tedbowSorry for brief description, I still learning about the problem space
some initial thoughts
Tasks:
Edit/Add/Remove Block, Add/Remove section
all rely on links(a tags), sometimes contextual links that open the off-canvas dialog.
We did put a fair amount of effort into making this an accessible pattern.
Reordering blocks
This currently relies on drag and drop. Possible solution #2995689: Allow reordering blocks without a pointer device
Comment #3
tedbowComment #4
andrewmacpherson CreditAttribution: andrewmacpherson as a volunteer commentedThanks for starting this @tedbow
We need an a11y meta plan, but it has to include more than just input methods. So I'd like to broaden the title scope, and make input methods a sub-heading here.
Some other aspects we'll need to address include:
All of them! Well, at least as many as we can think of. Plus all of the ones that don't exist yet.
That isn't whimsy - it's from the normative parts of WCAG. "Principle 4: Robust is about ensuring compatibility with as many technologies as possible: Content must be robust enough that it can be interpreted by a wide variety of user agents, including assistive technologies.
WCAG Guideline 4.1 Compatible goes on to Maximize compatibility with current and future user agents, including assistive technologies.
The point being, we'll never know what input method someone wants to use, in the same way that we'll never know what disabilities a user has, or what situation they are in.
Also, Drupal's values say we build software that everyone can use.
The range of tech I'm currently thinking of as a good basis is:
User stylesheets (it's impossible to know how these might be used, but it's a good idea to minimise inline styles and refrain from the !important keyword)Updated (13th Nov 2018): let's not worry about this. User stylesheets are more of a last-resort work-around for some users, not something we can practically address here.It's a moot question, because if something else in core doesn't work well with any input methods, then that would be a bug as far as WCAG's Robust principle is concerned, and we should improve it. So this isn't a good starting point to base our intentions on.
However, we can turn this the other way around, to say that it isn't layout builder's responsibility to fix deficiencies in other parts of core.
For example, we need to improve Drupal core's robustness for Windows' high-contrast mode, but that should mostly be addressed in Bartik, Seven, and Classy. Yet the layout builder is intended to work with the website's default theme, including custom ones presumably. So there may turn out to be some things we can do with any CSS provided by the layout builder module to help it work with Windows high contrast mode.
Comment #5
andrewmacpherson CreditAttribution: andrewmacpherson as a volunteer commentedComment #6
andrewmacpherson CreditAttribution: andrewmacpherson as a volunteer commentedComment #7
andrewmacpherson CreditAttribution: andrewmacpherson as a volunteer commentedBrain dump about addressing speech control....
To facillitate moving blocks with speech control, I think we'll need, at minimum...
EITHER: At least one always-visible control per block
Approach 1: Each block has an associated button which reveals a menu of operations which can be carried out on that block. Among these are commands to:
OR: a single control which serves as the first step in a process, where a subsequent step allows specifying which block to operate on.
Approach 2: A button called "move block". Pressing it activates a dialog. Inside there is a select input, where a user can indicate which nlock they want to move. A second select input has a list of destinations it can be moved to.
Approach 3: A "show all block controls" switch lets the user change how block controls are shown across the entire layout builder UI. One option makes the controls visible for all blocks at once, the other makes them visually hidden unless hover/focus is within a particular block's controls. Speech control users will benefit from showing the controls for all blocks at once. This approach might be used in conjunction with approach 1.
Approach 1 will be great for speech control users and may also benefit switch-access users, but it adds visual clutter, which will get in the way of users who want a realistic preview.
Approach 2 isn't very elegant at all. I include it as a contrived example of of what we might end up with if we treat speech control as something to be fixed as an afterthought.
I think approach 3 could be quite elegant in practice. It gives the user choices to support their chosen input method(s), and still supports the use-case of a realistic preview. It could also work well in combination with some other toggles, such as show/hide block content, and show/hide region labels.
Comment #8
andrewmacpherson CreditAttribution: andrewmacpherson as a volunteer commentedAnother brain-dump, this time about how we describle layout builder to screen readers.
I waa thinking out loud in the #layouts Slack channel earlier today.
Comment #9
andrewmacpherson CreditAttribution: andrewmacpherson as a volunteer commentedComment #10
tedbowRegarding #8 I do think we could reuse the icon_map property for describing the layouts. But maybe we should actually rename that property "region_map" sense we will be using for other purposes besides creating the icon.
Also for BC purposes I don't we can make it mandatory if we renamed it to region_map(and deprecated icon_map) we could describe it's dual purpose of creating an icon and describing the region for accessibility purposes. While encouraging all layouts to provide a region_map for these reason to have on in the help.
The wording might change with #2929783: Review Layout Builder UI terminology but for instance the
layout_twocol
layouthas
so you describe as:
"This layout has 3 rows and 4 regions. Row 1 consists of the top region. Row 2 consists of the first and second regions. Row 2 consists of the bottom region."
Obviously doesn't have to be that exact word but the point is you can derive a lot of information from it and the region labels.
Of course we would want to put a caveat that these regions might all just be displayed in a single column at narrower widths.
We could use these descriptions when the "Choose layout" dialog is open and a particular layout is tabbed to.
For existing layouts added as "sections" in the layout builder right now the only action is the "remove layout" link. But we might want to change that to a contextual link when we have ordering of sections and third party settings because there would be more than 1 section level action.
Also related to this #2938132: Ship layouts that make sense with Layout Builder's concept of sections will make the descriptions of each layout much easier to describe because at least for core they will not have multiple row in a single section and will rather be simpler sections stacked together.
Comment #11
andrewmacpherson CreditAttribution: andrewmacpherson as a volunteer commentedYes, that's pretty much what I was thinking of for the screen reader Section summaries (akin to table summaries). These would be conveyed as the Accessible description for the section (via
aria-describedby
).If we have to compute this summary that's OK, I think. The layout description key could be employed, but the annotation class says it's optional. Maybe we compute the summary if the layout doesn't have a description?
The sections and regions would also need Accessible Names (via
aria-labeledby
). These would be shorter, like "Section 2" and "Left region, section 2".We could just list them, in the array order from the regions key, and dodge that issue
Comment #12
andrewmacpherson CreditAttribution: andrewmacpherson as a volunteer commentedHmm, the layouts in
layout_discovery.layouts.yml
don't have the description key.Comment #13
andrewmacpherson CreditAttribution: andrewmacpherson as a volunteer commentedYes, they'd be serving as a text alternative to the icon, which conveys useful information. Would a screen user be at a disadvantage compared to someone who could see the label and icon, vs the label only? Probably. Especially for a more complex layout.
But for simple layouts it would be overkill. "One column - a one column layout."
If the
icon_map
anddescription
keys are optional, we may have to treat it the same as a FAPI description - a recommend that developers provide one, but omit the description if they don't.Comment #14
AaronMcHaleWas reading Approach 2 in comment #7 and had an idea which builds on that.
Instead of showing a dialogue when you select "Move block", "Move block" could reveal boxes in each region of each section. These boxes are displayed between each block (or just one for an empty region), they would be as wide as the blocks are and have a noticeable height (possibly with a grey dotted border and grey text). Clicking on one of these boxes moves the selected block to that position.
As far as I can see this approach meets a number of requirements:
I'm sure there are probably other advantages but those are the ones I could think of. If I get a chance I might try and mock up an image to better show what this might look like in reality.
Thanks
-Aaron
Update: added another advantage about being viewport and context independent.
Comment #15
andrewmacpherson CreditAttribution: andrewmacpherson as a volunteer commentedThanks @AaronMcHale, that's the kind of idea iteration we'll need. I think I disagree with the relative merits of the points you make, and who benefits most from each. But I'm still digesting it. I'll provide a fuller response soon.
Meanwhile, I see @tedbow made a demo, and I left some comments at #2995689-28: Allow reordering blocks without a pointer device. Those aren't exhaustive though.
I'm forming more ideas about some ways the UI could work for a wide range of interaction methods. I'm picturing ~3-4 controls whose display can be toggled (off/some/all). They could live in a toolbar next to the save and revert buttons.
The idea is that the UI could be adjusted in ways that would be of benefit for users in multiple circumstances, with various disabilities and/or interaction methods.
AND those UI adjustments would have clear benefits to users who do not have any disabilities or assistive tech.
Example 1: To help users with screen readers to understand the layout, we'll need to provide text labels for the various sections and regions. Presumably this will involve invisible text.
But wouldn't other (sighted) users benefit from these text labels too? A "show region labels" toggle switch could help in various situations...
I'm forming a few more personas and scenarios for toggling block content previews, block controls, and block admin labels. They can all help with accessiblility AND provide general utility too.
Comment #16
andrewmacpherson CreditAttribution: andrewmacpherson as a volunteer and at Annertech commentedI also have a few child issues to spin. out, for things we'll have to address whatever we end up with here. Bear with me, I have a lot to brain-dump.
Comment #17
andrewmacpherson CreditAttribution: andrewmacpherson as a volunteer and at Annertech commentedI think we'll ultimately need to provide multiple ways for users to achieve their tasks (e.g. re-order blocks). I don't mean that in the sense of one way for mouse users, and one way for keyboard users. Rather, I mean that there will be multiple ways to achieve it with mouse, and multiple ways with a keyboard, and so on. Some of these will hopefully overlap between different input devices.
I say this, because we're beyond standard form-based UI in Layout Builder. Here we're building more application-like UI, so we'll need more UI flexibility, like applications. Layout Builder is also the first of the authoring tools initiatives which is about providing a brand new UI, instead of improving an existing one. Compare this with the Media Library module, which introduced a nicer alternative to the existing listing, but we retained the previous listing for flexibility. With layout Builder, there is no previous UI to fall back on. Other authoring tools initiatives are still mostly form- and table-based, so far.
A minimum viable product for Layout Builder accessibility would be at least one method which works, for each user task, for each input/output method listed in #4.
But to achieve an elegant, inclusive design which works well for everyone, it will help to offer choices. This means several methods to achieve each task, which can each be operated with several different input devices. Plus ways to tailor the UI to help in different situations. Instead of putting users into silos according to their disabilities and/or technology choices, inclusive design aims to provide tools which are useful to everyone, and looks for ways to provide comparable experiences and benefits.
When it comes to the code freeze for the next minor release of Drupal core, if we're hoping to advance layout builder out of experimental, we must have the accessibility MVP. But ideally we should also have a pretty clear idea of what the "elegant, flexible, adaptive" inclusive design end-goal will look like, and have a feasible roadmap to achieve it.
(Updated) Moreover, I think we should refrain from rushing towards writing code for an MVP until we have fleshed out a bigger plan. By "at least one method per input device" I don't mean write them separately without regard for the others, or even the first idea that comes to mind. Unless we're prepared to ditch it later.
Precedent:
Desktop UIs often provide 3-5 methods to do the same operation. For instance, file managers provide ways to get info about a selected file:
Comment #18
andrewmacpherson CreditAttribution: andrewmacpherson as a volunteer and at Annertech commentedComment #19
AaronMcHaleOnce again, thanks @andrewmacpherson for all the input, lots to digest here.
As I was reading your thoughts something occurred to me, my idea in #14 could probably also benefit the drag and drop Field UI and possibly other UIs that use drag and drop (such as Block UI and other orderable Entity Lists). Then that got me thinking, if my idea could benefit other parts of Drupal, what other ideas have been mentioned and/or tried for Layout Builder that could also benefit other parts of Drupal.
Definitely Something to think about.
Comment #20
mgiffordComment #21
andrewmacpherson CreditAttribution: andrewmacpherson as a volunteer and at Annertech commentedMarking this as a blocker, for the accessibility gate.
Dries' blog post about layout builder yesterday says we're on track to mark this as stable for D8.7.0. I'm not at all optimistic about that, because as yet there is no feasible plan for how it can be made accessible.
In #17 I said:
We don't have that yet. There are some interesting ideas in this issue, and also in #2995689: Allow reordering blocks without a pointer device. So far though, I don't think we can say we have found a feasible approach. We're in deeply experimental territory here - there isn't a well-established, reliable pattern we can just copy to make the current layout builder accessible. Essentially, we're making stuff up in a hurry, for a novel UI, with limited opportunity for design validation. There's no guarantee that users are going to understand it, or find it easy to use. That's why I'm not optimistic about it getting past the accessibility gate in time for D8.7.0.
So I want to propose an alternative MVP for accessibility - a more cautious and reliable approach, I hope. While there's no well-established pattern that can make the current layout builder accessible in a hurry, as Yoda would say, there is another...
Provide a second UI for layout builder, which users can elect to use instead of the (currently pointer-driven) visual-preview layout UI.
How do WCAG and ATAG fit into this proposal?
Does this mean we're giving up on making the drag-and-drop, visual-preview layout builder UI accessible?
No! We should strive to find ways of making that usable and understandable for as many users as possible, with as many different technology choices as possible. The Inclusive Design principles also emphasize "providing comparable experience", "giving control", and "adding value" in application design. It's my hope that the ideas being explored in this issue (and the related ones) will bear fruit.
However we also need to be realistic about what we can achieve in the immediate future, and how we can bring the layout builder module to stability without leaving disabled users stranded, or forcing an untested UI on them. To be clear, the tabledrag-based layout builder UI I'm proposing here does segregate some users into the alternative UI the short term, which far from an ideal inclusive design. (It's similar to expecting wheelchairs users to use an alternative entrance at the rear of a building.) Yet, in my view, it's currently the only feasible route to provide an accessible layout builder.
Eventually, I'd like to see BOTH layout builder UIs being accessible, and offer genuinely useful choices for everyone. But let's take the time to do it well, instead of hastily bolting on fixes for one type of interaction method at a time, in a rush to ship a single layout builder UI. Let's aim to provide a more flexible and integrated set of controls, which will suit many users and tasks, in different combinations. As we build more powerful application-like features in various authoring tools initiatives, I expect we'll find other places to offer users a choice of methods to complete tasks or review information.
As a target for D8.7.0, I'd like to see us:
If we can achieve those two things, I think that will have the best chance of getting layout builder through the accessibility gate.
Will backwards compatibility be an issue here? After we mark the layout builder as stable, I don't know whether that means we'll be able to make further UI changes if necessary. In any case, we also have the Drupal 9 release in our sights now, which provides another opportunity for a backwards compatibility break.
Thoughts?
Comment #22
mgiffordThis does sound like a pragmatic approach. I do think that this new concept is slightly less daunting than what had been initially considered. Thanks for laying out this plan. I'm keen on seeing what we can do to push it forward!
Who can we get to help build it?
Comment #23
tim.plunkettClarifying the title, the plan is not incoherent :)
Comment #24
aleksipI have been experimenting with using layout definitions with theme components. A classic example would be a card component. I have used Display Suite to provide the (tabledrag based) UI for mapping fields to layout regions, and this approach has so far worked very well. One common use case is to map a Paragraphs type display to a component template.
It would be really great to have a UI for this in core. However, the visual UI of Layout Builder is not always ideal for smaller components that might have overlapping regions for example. Also, some regions might not be visually represented at all, with fields placed in them affecting (the appearance of) the component in some other way.
So maybe this could be an additional use case for an alternative tabledrag based UI for Layout Builder? Unless there are good reasons why layout definitions should not be used in this way, of course.
Comment #25
andrewmacpherson CreditAttribution: andrewmacpherson as a volunteer and at Annertech commented#24:
Can you elaborate on what you mean by overlapping regions?
Comment #26
aleksipA card component could have a region for an image and a region for the card type (e.g. 'Blog post'). The UI would be used to place an image field and a taxonomy term field into these regions. The card component could display the type on top of the image, say in the top left corner of the image. I'm not sure if the visual UI is ideal for these types of layouts.
I see the visual UI being useful (even for content editors) for creating full page layouts, and the tabledrag UI would be useful (mainly for site builders) for mapping entity displays to component templates.
Comment #27
andrewmacpherson CreditAttribution: andrewmacpherson as a volunteer and at Annertech commentedRe #26 - I think I'm getting the picture. It seems that if layout_builder and field layout modules are both enabled, then layout builder is the only option on manage-display, for all content entity types. You can't use visual-preview (layout_builder) for node bundles, whilst using a logical-table (field_layout) for block and paragraph bundles, say?
Thanks! I'm looking for use-cases that would justify having a offering a choice of visual vs. logical UIs for layout builder, apart from accessibility alone. Now we have two.
Comment #28
andrewmacpherson CreditAttribution: andrewmacpherson as a volunteer and at Annertech commentedI'm starting an issue summary cleanup, and spinning out various child issues for discussion and implementation.
Comment #29
andrewmacpherson CreditAttribution: andrewmacpherson as a volunteer and at Annertech commentedThere was some confusion about the way I used the phrase "coherent plan", so ditching that word.
Comment #30
andrewmacpherson CreditAttribution: andrewmacpherson as a volunteer and at Annertech commentedAdded #3019487: [plan] Describe layout builder UI to assistive technology
Comment #31
andrewmacpherson CreditAttribution: andrewmacpherson as a volunteer and at Annertech commentedMoved the alternative UI proposal (table/form based UI) from comment #21 to an issue of it's own for discussion and/or implementation.
See #3019490: Provide a Layout Overview dialog that allows performing all actions in a text/form based method
Comment #32
andrewmacpherson CreditAttribution: andrewmacpherson as a volunteer and at Annertech commentedComment #33
andrewmacpherson CreditAttribution: andrewmacpherson as a volunteer and at Annertech commentedComment #35
andrewmacpherson CreditAttribution: andrewmacpherson as a volunteer and at Annertech commentedI'm starting a must/should/nice triage, with a view to sign-off for the accessibility gate.
I think it's worth giving an explanation of how I intend to assess Layout Builder for the accessibility gate.
Firstly, further to #21, where I stated the accessibilty target I'd like to see for Layout Builder:
Work has started on this at #3019490: Provide a Layout Overview dialog that allows performing all actions in a text/form based method. It's a little bit different to my proposal in #21, mainly because it takes place in a dialog. However it's a creative solution which I believe can satisfy the twin goals of:
That said, there are still many gaps to addressed before #3019490: Provide a Layout Overview dialog that allows performing all actions in a text/form based method can be deemed good enough for either of these, in my view. I will add necessary extra steps there. Many improvements can be spun out as should-haves, which aren't blockers to a stable layout builder.
Because of the, um, groundbreaking ambition of Layout Builder, and the fact that no-one else has built an accessible UI quite like it, and the overall state of the accessibility issues currently in progress, I remain of the view that #3019490: Provide a Layout Overview dialog that allows performing all actions in a text/form based method is the most reliable route to WCAG conformance.
I'm very optimistic about this part. We have a sufficient number of proposed UI improvements, and known bugs, that we can say such a roadmap exists now. Or at least it will, once I have completed triage here, filed a few more issues, and clarified the plan for some existing work-in-progress. Many important parts of the big-picture plan are progressing well.
Many of the proposed ideas have been discussed with the Web Access team at U.C. Berkeley, so the direction has at least had some level of design validation from independent accessibility specialists (and isn't just my say-so). Aside: The Berkeley team have their own considered interest in D8 layouts; I understand the university already makes widespread use of the D7 Panelizer/Panopoly approach, which they eventually need to upgrade from.
Next: assessing Layout Builder for WCAG 2.0 conformance. This is proving rather difficult, for reasons I will outline. A large part of the difficulty is there isn't an established (accessible) pattern to compare it against.
A document that's been helpful is Glenda Sims' A11y Wars: The Accessibility Interpretation Problem. WCAG has an interpretation problem. Rather, accessibility specialists have an interpretation problem. Because the normative "letter of the law" parts of WCAG are so terse, and the informative material so extensive, it's common to find specialists whose opinions differ on whether a UI conforms to WCAG or not (and I'm just one of them). The article outlines 3 approaches to interpret WCAG.
Another document that has helped, is the original discussion around how to define Drupal's accessibility gate. Rather than follow the letter or spirit of WCAG, it's been useful to look to the spirit and intent of our accessiblility gate. I'm still mulling this over.
Comment #36
andrewmacpherson CreditAttribution: andrewmacpherson as a volunteer and at Annertech commentedOne very useful policy, which @webchick points out over at #3019487-12: [plan] Describe layout builder UI to assistive technology is that major a11y bugs still qualify for going into core right up to the release candidate:
That was already my understanding. It's also my understanding that major accessibility bugs can often qualify to be cherry-picked into any patch release too (I need to check the standing rules on that). These policies are very useful, in the sense that it gives me confidence that some issues can be classed as should-have major bugs, and be able go in as soon as they are ready. On that basis, I'm not averse to some creative triage of must-have vs. should-have.
I've noticed a lot of low-hanging quick-wins relating to various parts of layout builder. I'll try to spin those out as narrow-scope follow up bugs, which don't have to be considered stable blockers.
Comment #37
andrewmacpherson CreditAttribution: andrewmacpherson as a volunteer and at Annertech commentedCompleted must/should/nice triage for all the things currently in the child, related, and referenced-by sections of the sidebar here.
Comment #38
andrewmacpherson CreditAttribution: andrewmacpherson as a volunteer and at Annertech commentedNote to self: next most important tasks are:
Comment #39
andrewmacpherson CreditAttribution: andrewmacpherson as a volunteer and at Annertech commentedtriage done, remove TODO
Comment #40
andrewmacpherson CreditAttribution: andrewmacpherson as a volunteer and at Annertech commentedComment #41
xjm@andrewmacpherson and I discussed #2917777: Improvements to the styling, grouping, etc. of the Layout Builder UI actions form, which was listed under both "must" and "should"-have. We identified as #3040645: Add a role=region wrapper to the Layout Builder action form to fix screen reader navigation barriers as the most important thing to complete there as it can be considered a major bug, but there is a workaround for it so it's not stable-blocking.
Then the remaining issue #2917777: Improvements to the styling, grouping, etc. of the Layout Builder UI actions form has been rescoped and postponed on #3040645: Add a role=region wrapper to the Layout Builder action form to fix screen reader navigation barriers and the other final stable blockers, so that can build on the other fixes that are outstanding.
Updating the IS to reflect this.
Comment #42
andrewmacpherson CreditAttribution: andrewmacpherson as a volunteer and at Annertech commentedLet's keep #2917777: Improvements to the styling, grouping, etc. of the Layout Builder UI actions form on this list as nice to have. It's eventually where the controls for various "show preview" and "show region names" will live, from other issues here.
Comment #43
andrewmacpherson CreditAttribution: andrewmacpherson as a volunteer and at Annertech commentedOh, I see #291777 was duplicated in the triage. Doh, setting it back to what @xjm did,
Comment #44
tim.plunkettAdded #3042107: Layout Builder actions are inconvenient to access via keyboard navigation to "should have"
Comment #45
xjmWith those updates, I think all the must-haves are complete! Thanks so much to accessibility reviewers for providing detailed feedback on Layout Builder's accessibility throughout the development process, and to the contributors who helped fix these critical bugs in the module.
Promoting to major to accurately reflect the priority of the remaining accessibility work.
Comment #46
effulgentsia CreditAttribution: effulgentsia at Acquia commentedWow! That's exciting! Congratulations!
Does that mean we can/should remove the "Layout Builder stable blocker" tag from this issue?
Comment #47
webchickSeems that way. Tentatively doing so.
Comment #48
tim.plunkettComment #49
dmsmidtWhile reviewing the 8.7.0 release notes about Layout Builder I couldn't find anything about a11y. Which I hoped to see since the positioning of it against Gutenberg. So I ended up in this issue, and I just wanted to say thanks for all the hard work Andrew et al. Keep it up!
Comment #53
mgiffordLinking open issues from the CivicActions Accessibility - VPAT.
Comment #58
mgiffordI'm removing this, as at this point it is just a plan, right? This isn't a bug (although it refers to bugs).
Comment #59
xjmRight, these are accessibility bugs (some of them major) that still need to be fixed. It would be great to fix them as part of an effort to add Layout Builder to the Standard Profile.
Comment #60
mgiffordAbsolutely @xjm. But each of those bugs probably will have their own issue.
Comment #62
mgiffordAdding reference to Windows High Contrast Mode.