Skip to content

DataForm: Develop a wizard pattern #66644

Open
@jarekmorawski

Description

Across the WordPress ecosystem, the wizard UI is widely used in plugins, particularly for onboarding, setup, and feature guidance. Currently, there’s no standardized approach to wizard implementations, leading to inconsistencies in user experience and requiring developers to build unique solutions for similar needs. This proposal suggests creating a shared Wizard UI pattern as a variant of the existing Page component, incorporating elements of DataForm and DataViews for an adaptable and cohesive interface.

Problem to solve
Many plugins incorporate wizard UIs, but their implementations differ significantly, which can lead to:

  • Varied navigation patterns (e.g., different locations for "Next" and "Back" buttons).
  • Inconsistent styling and layouts, which may interrupt the user's flow as they switch between plugins.
  • Repetitive code for common flows, which adds maintenance overhead and makes it harder to achieve a polished, accessible UI across plugins.

Proposed solution
A shared Wizard UI pattern would streamline the user experience and improve developer efficiency. Building on the Page component, this variant could:

  • Define consistent button placement and section headers to create predictable flows across all of wp-admin, no matter if the screen is part of WordPress or a plugin.
  • Integrate components from Page, DataForm, and DataViews into a single reusable pattern.
  • A standardized pattern would facilitate accessibility improvements and ensure mobile-friendly design.

The attached designs illustrate a potential flow and layout for this pattern. It's based on some use cases I've observed across WordPress, WooCommerce, and several other plugins I interacted with over the years, but it certainly doesn't satisfy all possible needs.

Image

What do you think is missing? How do you currently use the wizard UI in your plugin that you think could be useful to others? Please share your ideas, sketches, and designs!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    Needs DesignNeeds design efforts.Needs Design FeedbackNeeds general design feedback.[Feature] DataViewsWork surrounding upgrading and evolving views in the site editor and beyond[Feature] Posts/Tags/Categories ScreenBringing Data Views to Posts, Categories and Tags alongside their own Forms/Editors.[Package] DataViews/packages/dataviews[Type] EnhancementA suggestion for improvement.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions