department-of-veterans-affairs / vets-design-system-documentation

Repository for design.va.gov website
https://design.va.gov
40 stars 61 forks source link

Add guidance for the "one thing per page" design principle #1051

Closed humancompanion-usds closed 2 years ago

humancompanion-usds commented 2 years ago

Feature Request

This update is for:

What is the name?

One thing per page is a design principle. Check suitability or Check eligibility is a pattern. Essentially, we need to document a replacement for the Wizard pattern.

What is the nature of this update?

What problem does this solve?

Progressive disclosure of form elements

Additional Context

Out in the world

At VA

humancompanion-usds commented 2 years ago

Steps to get to some usable patterns

k80bowman commented 2 years ago

@caw310 Here is the draft page link: https://design.va.gov/patterns/forms/sub-task

In a comment on his PR, Matt asked that the following people review it and provide feedback in issue #1051:

Could you reach out to them and ask them to review the draft documentation please?

caw310 commented 2 years ago

I've messaged those folks and asked them to share their feedback in this ticket.

kristenmcconnell commented 2 years ago

When reviewing the documentation, I got stuck on what the differences were between a "secondary task before a flow" and a "short task within a larger process." The definitions seemed comparable. The only difference that I saw was that "branching eligibility choices" may or may not be included.

I also wonder if the concept of "one thing per page" is somewhat separate from the sub task pattern. For instance, uk.gov has it as a design principle that applies to all forms, not just sub tasks. An example of this principle being utilized on a non-sub task form within VA is the debt team. They did a lot of work exploring how to improve some of their list loops. I guess list loops could be deemed a sub task. Anyway, they used "one thing per page" and completely changed the design.

Besides the above feedback, the documentation looks great.

GnatalieH commented 2 years ago

@kristenmcconnell I too got stuck on the differences between the "secondary task before a flow" and "short task within a larger process" definitions. I understood the differences once I thought more about it, but I'm wondering if we need to differentiate between these two concepts at all. Sub-task also is a term that hung me up, as I don't think it's describing what we're doing with this Pattern (but I haven't thought of a better term, yet). Essentially, we are chunking out step-wise content into easily digestible views. This creates a more conversational flow when a user is moving through task completion, agnostic to the task itself.

Edit: after doing some Googling, it seems like "One thing per page" is the language used by different organizations to describe this pattern. I feel like we shouldn't reinvent the wheel, rather we should use what the industry is already calling this pattern.

outerpress commented 2 years ago

Agree with Kristen - I'm not sure why a one-thing-per design principle would be limited to subtasks/pre-screener questions and not be similarly useful when thinking about a form flow. It'd be helpful to see the principle defined separately from the patterns, and explain why the pattern benefits from using the principle.

humancompanion-usds commented 2 years ago

@outerpress and @kristenmcconnell - If you can, come to Design System Council today at 1pm where we can discuss more.

kristenmcconnell commented 2 years ago

I'll be there.

humancompanion-usds commented 2 years ago

Feedback from DSC left some things unresolved. Next step here is for me to talk to Beth and Danielle about perhaps putting One Thing per Page into the Content style guide as a Content Principle. That follows how Pamela and other designers have been tackling this problem (starting content first, creating a decision tree/flow, then testing assumptions). That would also allow us to define it more than just linking to gov.uk and allow us to point multiple patterns at it. From there I believe I can clean-up sub-task to address the concerns raised above.

joshkimux commented 2 years ago

Just gave this a (late) review! Super excited to see this written up. Some minor bits of feedback:

Other than that, the subtask pattern by default should meet all of the a11y considerations (assuming all pages within the subtask have a button to submit information or trigger validation e.g. continue).