department-of-veterans-affairs / va.gov-cms

Editor-centered management for Veteran-centered content.
https://prod.cms.va.gov
GNU General Public License v2.0
98 stars 69 forks source link

Homepage: Implement design iteration for next round of Veteran research #10648

Closed wesrowe closed 2 years ago

wesrowe commented 2 years ago

Description

Updated design: Desktop: https://www.sketch.com/s/3aa40506-4be2-46cc-876b-93f1a9f3a857/v/mqqkog/a/oYGg9Wx/

Mobile: NOT YET PROVIDED (9/12). Will be provided after copy edit

POINTS ARE APPROXIMATE for purpose of placeholding until designs are in hand.

As a Veteran, I want to try executing several common tasks using the latest version of the home page design so that I can help the VA determine if it's ready to release.

Changes Punchlist

Top concerns:

  1. 508, semantic markup
  2. Parity with designs. 2nd pair of eyes design review with Wes and/or Jill required internally before we hand off as complete / ready for UAT

Homepage hero -> "Benefit spotlight":

Prototype update (new 9/16):

Design comparison ![image](https://user-images.githubusercontent.com/55411834/190655124-9bdd365f-cb6a-4547-bb8b-e891e6f428df.png)

Search & Tasks block

Search:

Common tasks:

OPIA blog promo block

Promo design comparison _(new 9/16)_ ![image](https://user-images.githubusercontent.com/55411834/190654272-93a2680c-20e0-4136-a28d-6dabf7d3840f.png)

Prototype updates:

Benefit Hub block

(updated 9/16)

New benefit block ![image](https://user-images.githubusercontent.com/55411834/190657429-78973c32-d409-4f1c-958b-5344d5a22b1b.png)

New section pre-footer

(updated 9/16)

New area ![image](https://user-images.githubusercontent.com/55411834/190657741-12e7e243-e488-4781-9653-ac45b00b95a7.png)

Acceptance Criteria

CMS Team

Please check the team(s) that will do this work.

wesrowe commented 2 years ago

@mmiddaugh, FYSA this issue will be a placeholder in the sprint starting Monday.

jilladams commented 2 years ago

@apisandipas We got a preliminary look at the design update, not finalized, but this is approximate scope. https://www.sketch.com/s/3aa40506-4be2-46cc-876b-93f1a9f3a857/v/mqqkog/a/oYGg9Wx/ Copy edits will happen to this, so don't worry about text for now, only markup / style / image changes. Copy will get finalized later this week and come back to us in finalized file. Same with header levels. Match for style, and the actual semantic header levels will get established in a review with 508 folks, and indicated in the file a little later.

Top concerns:

  1. 508, semantic markup
  2. Parity with designs. 2nd pair of eyes design review with Wes and/or Jill required internally before we hand off as complete / ready for UAT

Homepage hero:

Prototype update:

Final:

HUB

Search:

Common tasks:

OPIA blog promo

Prototype updates:

Final:

Homepage benefits:

New section pre-footer

Final:

FYI @ryguyk @wesrowe . If you have edits to this please directly edit my comment so Bryan has 1 place to look, vs. trying to merge in his mind.

jilladams commented 2 years ago

Target for turning these around in the prototype is by end of sprint, 9/23. @apisandipas it's a big bite. Feel free to proactively schedule time with whomever you'd like to talk to, to get this moving.

mmiddaugh commented 2 years ago

Content finalized with Danielle on 9/15 and reflected in Sketch. New screenshots and other changes are noted in body of issue

cindymerrill commented 2 years ago

Will the 2 accessibility fixes being made to the VA Benefits and Health Care megamenu (in the header) also be made to this design iteration in Staging?

jilladams commented 2 years ago

@cindymerrill re: #10678 : The health care megamenu change is in code review but we need to test the injected header use case before that merges. So: once that change merges, yes, it will propagate to Staging. Bryan is working both tickets, so prototype changes will come first.

I am not recognizing the VA Benefits reference - do you have a ticket number for that? In general: any change that ships to prod will also apply to Staging, unless we've done specific work to prevent that.

cindymerrill commented 2 years ago

@jilladams Both accessibility issues concern the "VA Benefits and Health Care" megamenu. "VA Benefits" isn't a separate issue :).

apisandipas commented 2 years ago

@mmiddaugh The proposed design for the Search Input has a few conflicts with the existing VA Design System Search Input Component.

  1. Sizing - The existing component is 296px wide by 48px in height, while the proposed design includes a search component 280px by 37px. With the proposed mobile view having padding of 20px on each side, it's currently too large to fit on the smallest screen size of 320px.
  2. Button Text - It's currently possible to add text to the button. However, the button by default includes a magnifying glass icon which doesn't appear to be optionally toggleable.
  3. Responsive Layout - The current search input doesn't adjust it's layout on smaller screens as proposed on the design, where the button wraps below the input and becomes full width to it's container.

In most other cases I could typically override these styles in a targeted manner, however being that it's a web components residing in the, pardon the jargon, "Shadow DOM", it's styling is intentionally isolated from being overridden from the outside in such a way.

jilladams commented 2 years ago

@mmiddaugh from talking to Bryan about his notes, our options to address are:

  1. Use the design system component as is, until these changes are integrated into the component. This is preferred from the team.
  2. Write a custom module for search in the homepage body. Doable, more time needed (haven't estimated yet but can), and downsides are: maintaining custom code to keep parity with the design system component. Not optimal. If we opt to go this route, it would help to know if this piece factors into the next round of testing + governance reviews, in order to understand timing to complete it.
  3. Try to override the design system styles by injecting CSS into the Shadow DOM using JS. This is not an existing paradigm, and is creating some tech debt for maintenance, as most engineers wouldn't look for CSS in JS. (Strongly not preferred by engineering, just documenting, since we discussed it.)

It would be good to understand from you & RyanT how critical he perceives these differences to be, and where we should invest effort in lining up with the design. (cc @wesrowe)

wesrowe commented 2 years ago

@apisandipas, fyi I added an H1 semantic markup to Sketch for the new "Welcome to VA" item at the top of the page.

jilladams commented 2 years ago

@apisandipas Talked through these notes with Michelle & Wes, notes:

  1. Sizing - Michelle to clarify this with RyanT
  2. Button Text - For now, use the magnifying glass + Search word. Michelle will follow up on this as well re: removing the magnifying glass, but we think we'll lean on the design system component.
  3. Responsive Layout - We did find a case where the search button behaves on the live site as it is in the design. We'd like you to take a look at this, and see if it's possible to identify / use how that's working. to repro: On va.gov, if you search, land on search results, then the search input on the results page does show a la RyanT's designs: input over full width button, with both magnifying glass + Search text in button. e.g. https://www.va.gov/search/?query=test&t=false Screen Shot 2022-09-20 at 3 08 44 PM.

If that doesn't work, Michelle made note of the design component width + padding issues & will run that past RyanT (296px wide component + 40px total of left/right padding = > than mobile 320px-wide smallest screen). For now: if we can't get that stacked version on mobile, and you assume we're using the design system component, do you have any suggestions to make the mobile presentation work for now?

And an additional note: In designs, search box on Desktop has title "Search" and on mobile, "Search on VA.gov". @mmiddaugh to clarify with RyanT if that's intentional.

Re: deviating from design system component, Michelle noted she'll have to defend deviations to the Collab Cycle, so she'll take the Qs to RyanT and just confirm how much of this is high priority from design perspective, etc.

mmiddaugh commented 2 years ago

@jilladams @apisandipas Answers from Ryan:

Sizing - The existing component is 296px wide by 48px in height, while the proposed design includes a search component 280px by 37px. With the proposed mobile view having padding of 20px on each side, it's currently too large to fit on the smallest screen size of 320px.

Heading label - In designs, the search box on Desktop has the title "Search" and on mobile, it’s "Search VA.gov".

Button Text – The design system component has the magnifying glass, rather than the word “Search” as indicated on your designs. We found an example on the search results page which uses the magnifying glass and the word “Search” and are evaluating this to see if it is a design system component option. Responsive Layout – If we can use the implementation from the search results page, it will display as the input field over a full width button but the standard search component doesn't adjust its layout on smaller screens as proposed on the design.

jilladams commented 2 years ago

Search results page is a separate React app so the button treatment there doesn't easily translate to the homepage. Might be a component we could add in. Will need to investigate effort.

To preview / review changes, will need both vets-website & content-build PRs to merge and deploy to Staging.

apisandipas commented 2 years ago

@jilladams In investigating the effort involved with using the search input implementation from the results page, I found that the implementation on the Result Page is large one very big components rather than one split into atomic components.

In experimenting with what I found I was able to copy the styles and plug in the functionality to the existing Home Page Search component. It's not a completely 100% match style-wise, but could be with some additional tweaking.

My main concern with this approach is I'm not 100% certain the typeahead suggestions will work as intended out of the box like this. I'm uncertain as this functionality doesn't appear to work in a local development instance. I feel confident that will some time, I could likely get this functionality working, if I were able to point the API_URL to a known working instance of the API endpoint and test against that, adding the missing pieces as needed.

Let me know if I should pursue this now, or if you think tackling it as a separate ticket next week would work best.

jilladams commented 2 years ago

Let's break it into a separate ticket and get the 2 open PRs moving toward Staging. Better to work it in parallel. (fyi @mmiddaugh )

I'll draft the ticket and pass it off to you to make more technically accurate and add points.