Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VAGOV-TEAM-98818-home: Adds Home page to Form Builder #20299

Merged
merged 12 commits into from
Jan 21, 2025
Merged

Conversation

ryguyk
Copy link
Contributor

@ryguyk ryguyk commented Jan 17, 2025

Description

This PR changes the existing Intro page to a Home page.

This is more than a rename, though. It's more accurate to say that it removes the old Intro page and adds a new Home page, as it also makes a change to implement the Home page as a content page rather than a form. This lays the foundation for moving forward in a way where some of the pages in the Form Builder that are not bona fide forms do not need to be implemented as forms. The work in this PR wires things up to be able to implement pages as either, depending on what is most appropriate.

This PR also introduces a service for fetching Digital Form nodes. It is needed here to render the list of recent forms. It will likely be used elsewhere in the Form Builder as well.

Closes department-of-veterans-affairs/va.gov-team#98818

Testing done

  • Unit tests added for DigitalFormsService.
  • Functional tests added for Home page.
  • Existing functional tests updated (Controller).
  • Manual tests performed to ensure links/buttons work properly.

Screenshots

image

QA steps

  1. Run the user/content creation script: drush scr scripts/content/form-builder.php.
  2. Log in as test_user_form_builder.
  3. Navigate to /form-builder.
    • Validate that you are redirected to /form-builder/home.
  4. Stay on /form-builder/home.
    • Validate that the Build a form button takes you to /form-builder/start-conversion (this page will be updated soon, but for now it's the correct destination).
  5. On /form-builder/start-conversion, click the Back` button.
    • Validate that you are taken to /form-builder/home.
  6. Stay on `/form-builder/home'.
  • Validate that a link appears under Recent forms for each Digital Form in the system.
  1. Click on one of the links.
  • Validate that you are taken to the default node-edit screen for that node (this is temporary).
  • Validate that since you are logged in as a Form Builder user, you cannot access the page.

Definition of Done

  • Documentation has been updated, if applicable.
  • Tests have been added if necessary.
  • Automated tests have passed.
  • Code Quality Tests have passed.
  • Acceptance Criteria in related issue are met.
  • Manual Code Review Approved.
  • If there are field changes, front end output has been thoroughly checked.

Select Team for PR review

  • CMS Team
  • Public websites
  • Facilities
  • User support
  • Accelerated Publishing
  • Form Engine

Is this PR blocked by another PR?

  • DO NOT MERGE

Does this PR need review from a Product Owner

  • Needs PO review

CMS user-facing announcement

Is an announcement needed to let editors know of this change?

  • Yes, and it's written in issue ____ and queued for publication.
    • Merge and ping the UX writer so they are ready to publish after deployment
  • Yes, but it hasn't yet been written
    • Don't merge yet -- ping the UX writer to write and queue content
  • No announcement is needed for this code change.
    • Merge & carry on unburdened by announcements

@ryguyk ryguyk requested a review from a team as a code owner January 17, 2025 14:28
@va-cms-bot va-cms-bot temporarily deployed to Tugboat January 17, 2025 14:28 Destroyed
@ryguyk ryguyk requested a review from derekhouck January 17, 2025 14:28
Copy link

Checking composer.lock changes...

@va-cms-bot va-cms-bot temporarily deployed to Tugboat January 17, 2025 16:11 Destroyed
Copy link

Checking composer.lock changes...

@va-cms-bot va-cms-bot temporarily deployed to Tugboat January 17, 2025 19:34 Destroyed
Copy link

Checking composer.lock changes...

@ryguyk ryguyk force-pushed the VAGOV-TEAM-98818-home branch from 1a40d6f to 0d577b9 Compare January 17, 2025 20:33
@va-cms-bot va-cms-bot temporarily deployed to Tugboat January 17, 2025 20:33 Destroyed
Copy link

Checking composer.lock changes...

@ryguyk ryguyk force-pushed the VAGOV-TEAM-98818-home branch from 0d577b9 to 78ba548 Compare January 17, 2025 20:46
@va-cms-bot va-cms-bot temporarily deployed to Tugboat January 17, 2025 20:47 Destroyed
Copy link

Checking composer.lock changes...

@ryguyk ryguyk force-pushed the VAGOV-TEAM-98818-home branch from 78ba548 to 4e84826 Compare January 17, 2025 21:03
@va-cms-bot va-cms-bot temporarily deployed to Tugboat January 17, 2025 21:03 Destroyed
Copy link

Checking composer.lock changes...

@va-cms-bot va-cms-bot temporarily deployed to Tugboat January 18, 2025 08:44 Destroyed
@ryguyk ryguyk force-pushed the VAGOV-TEAM-98818-home branch from 4e84826 to 12a7813 Compare January 18, 2025 14:39
@va-cms-bot va-cms-bot temporarily deployed to Tugboat January 18, 2025 14:39 Destroyed
Copy link

Checking composer.lock changes...

@va-cms-bot va-cms-bot temporarily deployed to Tugboat January 19, 2025 08:42 Destroyed
@va-cms-bot va-cms-bot temporarily deployed to Tugboat January 20, 2025 08:50 Destroyed
@va-cms-bot va-cms-bot temporarily deployed to Tugboat January 21, 2025 08:43 Destroyed
derekhouck
derekhouck previously approved these changes Jan 21, 2025
Copy link
Contributor

@derekhouck derekhouck left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had some comments/questions, but nothing blocking. LGTM

@va-cms-bot va-cms-bot temporarily deployed to Tugboat January 21, 2025 16:32 Destroyed
Copy link

Checking composer.lock changes...

@va-cms-bot
Copy link
Collaborator

Cypress Accessibility Violations

/test-data-nesciunt

ID: button-name
Impact: critical
Tags: cat.name-role-value, wcag2a, wcag412, section508, section508.22.a, TTv5, TT6.a, EN-301-549, EN-9.4.1.2, ACT
Description: Ensure buttons have discernible text
Help: Buttons must have discernible text
Nodes:

  • HTML: <button class="proofing-element-help" role="tooltip" data-proofing-help-title="About 'Page introduction' field" data-proofing-help="Add an introduction that helps visitors understand if information on the page is relevant to them."> <span aria-hidden="true">i</span> </button>
    Impact: critical
    Target: .field--name-field-intro-text-limited-html > .field__label > .proofing-element-help[role="tooltip"]
    Summary: Fix any of the following:
    Element does not have inner text that is visible to screen readers
    aria-label attribute does not exist or is empty
    aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
    Element has no title attribute
    Element does not have an implicit (wrapped) <label>
    Element does not have an explicit <label>
    Element's default semantics were not overridden with role="none" or role="presentation"

  • HTML: <button class="proofing-element-help" role="tooltip" data-proofing-help-title="About 'Generate a table of contents from major headings' field" data-proofing-help="By checking this box, all h2's below this point on the page will be linked with with anchor links. This helps users navigate content on very long pages. Do not check this box unless there is at least 2 h2's on the page.">
    Impact: critical
    Target: .field--name-field-table-of-contents-boolean > .field__label > .proofing-element-help[role="tooltip"]
    Summary: Fix any of the following:
    Element does not have inner text that is visible to screen readers
    aria-label attribute does not exist or is empty
    aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
    Element has no title attribute
    Element does not have an implicit (wrapped) <label>
    Element does not have an explicit <label>
    Element's default semantics were not overridden with role="none" or role="presentation"

  • HTML: <button class="proofing-element-help" role="tooltip" data-proofing-help-title="About 'Main content' field" data-proofing-help="The main body of the page, which appears below the featured content."> <span aria-hidden="true">i</span> </button>
    Impact: critical
    Target: button[data-proofing-help-title="About 'Main content' field"]
    Summary: Fix any of the following:
    Element does not have inner text that is visible to screen readers
    aria-label attribute does not exist or is empty
    aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
    Element has no title attribute
    Element does not have an implicit (wrapped) <label>
    Element does not have an explicit <label>
    Element's default semantics were not overridden with role="none" or role="presentation"

@ryguyk ryguyk merged commit f9490b7 into main Jan 21, 2025
18 checks passed
@ryguyk ryguyk deleted the VAGOV-TEAM-98818-home branch January 21, 2025 17:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Form Builder Page: Home
3 participants