Closed wesrowe closed 1 year ago
@davidmpickett, I just assigned this to you so it would be easy to find. Note that I've started this as an implementation ticket, under the guise of refinement. But if it's significant work to figure it out (ie no easy answer), we can make it a discovery ticket and get it worked into an actual sprint plan when you have capacity.
@chri5tia, FYSA this is something we'll pursue as a follow-on to your initial efforts in Sprint 81.
Bad idea - use tag with aria heading roles?!
https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/heading_role
New Text format that allows just one h tag? h2 maybe?
From Benefit sync:
Engineering problem here:
Related thread: https://dsva.slack.com/archives/C52CL1PKQ/p1681389906497229
Possible solution from discussion with @chri5tia and @laflannery today:
Create a new Paragraph Type that would contain the following:
For a given field (e.g. Eligibility Summary), editors could add a number of these blobs and have internal hierarchy of the blobs without specifying any specific heading level for the front end presentation
Not sure what the right name for this new Paragraph Type would be. Some names floated:
Rough sketch of possible paragraph type solution https://app.mural.co/t/departmentofveteransaffairs9999/m/vagov6717/1660845137501/6eadf59a3f4d8dcd29da572a68115a22d6114fe4?wid=0-1681487526574
Update: Wes will raise with Dave C in sync on Monday
Refinement:
5 estimate is based on a first pass that is basically agreeable. Some risk associated that points will get bigger if initial passes don't fly.
Reassigning to Christia, moving back to Next sprint, based on today's conversation in refinement.
@jilladams, could this become the design ticket for Jordan's collaboration with Christia? (And unassign Dave?) disregard, see comment below
OMG this is so weird – when I loaded this page for the previous comment dave was still assigned (by himself)!!!!!!!!! I restarted computer this morning, so this is just bizarre.
Something like this is a more flat data model (no paragraph recursion)
The heading levels do not tie to an absolute heading value (1 does not mean h1) It leave it up to the consumer to make headings accordingly based on where the content is used. Example: content appears under an h1
Example: content appears under an h3
On the node view side we can alter the template to apply actual headings just like the front end would.
Entity validation could be employed to make sure levels are not skipped
@swirtSJW Just so I am understanding - the validation you are talking about above regarding the levels, this would be done on save and some type of error messaging would be shown? Or would we limit the levels available within the dropdown (i.e. if you have a one, the next level dropdown would not have 1 available in it)?
Steve, I love this. Thank you!
@swirtSJW Just so I am understanding - the validation you are talking about above regarding the levels, this would be done on save and some type of error messaging would be shown? Or would we limit the levels available within the dropdown (i.e. if you have a one, the next level dropdown would not have 1 available in it)?
@laflannery Great question. I was thinking only on node save and error messaging shown. In general that is what Drupal considers validation. There is either field validation (where a field checks itself, but has no access to other field values) or entity validation where the entity has access to all its own fields and can make comparative judgements about any combination of field values or node properties.
Re adjusting the level options dynamically: This at first seems like the easiest way.... BUT given that an editor could drag one heading around after creating the others, or change a heading level after creating the others, this could be quite a mess. The only way to fully judge it and limit the possibility would be upon save.
If we had to implement these "buttons"
We could make it so the buttons are literally just increasing or decreasing the helading level value by 1
Is there a way to combine these ideas? I love what you have presented here with respect to the simplicity and writing the actual header level into the data, making it easier to get at for the data consumer. If there was a way to limit the number of nests to three and have the header level drop down value automatically update upon clicking the "Complete drag and drop", using some kind of layout builder entity alter hook or conditional logic, would that fix the issue with the blob being even blobbier? I liked the visual structure and the ease of arranging items as children or siblings, etc. After removing nesting, it lacks that visual hierarchal satisfaction.
Without the visual/nesting:
@chri5tia would this new pattern allow for future iterations where we can introduction other blocks like Files and images to include under the headings as well?
Yes, for sure.
I adjusted the ACs to reflect that the uncertainty/ambiguity of the "explore" intent in the title was not reflected in the ACs, which previously said "scheduled CMS Collab Cycle meeting." Slacked Jill about how to ticket the follow-on iteration that this ticket scope-crept into.
I created #13802 for @chri5tia to do the 2nd, non-nested iteration with a hardened data model based on @swirtSJW's comments above.
Christia, you can close this ticket when you've done the documentation ACs:
This ticket is complete, and follow up work is happening in #13802. We are leaving the ticket open for tonight, to prevent the Tugboat from being destroyed. We will close the ticket as soon as we verify if Tugboat will be affected by closing ticket.
Description
User story
AS A Content Editor I WANT to be able to add heading-type formatting to limited RT content (e.g., VA Benefit Taxonomy's Eligibility summary) without adding specific heading levels SO THAT presentation layers can apply heading styles/hierarchy while also ensuring that heading hierarchies make sense in a given product.
The use case isn't 100% clear and needs to be clarified on several levels:
Engineering notes / background
This ticket will result in a "proof of concept" build which can be in Tugboat that can be used for review with CMS collab cycle and Editor workshop for feedback. Code will not merge to main or ship to Staging / Prod under this ticket.
Quality / testing notes
Acceptance criteria
CMS collab cycle touchpoint is scheduled to review proposed build approach & design notes for design system