-
Notifications
You must be signed in to change notification settings - Fork 160
Stepper Specification
- Overview
- User Stories
- Functionality
- Test Scenarios
- Accessibility
- Assumptions and Limitations
- References
Team Name
Developer Name
Stefan Ivanov
- Peer Developer Name | Date:
- Simeon Simeonov | Date:
- Product Owner Name | Date:
- Platform Architect Name | Date:
Version | Users | Date | Notes |
---|---|---|---|
1 | Names of Developers and Designers | Date |
The stepper conveys the progression of a sequence of individual steps indicating how much of a workflow has been completed and how much is left. It usually shows as a vertical or horizontal line with connected, numbered elements indicating the individual steps.
Must-have before we can consider the feature a sprint candidate
- The stepper should inform the user about the history of actions.
- The stepper should inform the user about the current progress.
- The stepper should inform the user about which and how many steps remain.
- The stepper should show the direction of movement.
- The stepper should support an arbitrary number of steps, usually, 3-5 are optimal.
- The stepper should support numbering as a way to show the order of steps.
- The stepper should support icons and visuals to better describe each individual step.
- The stepper should support a horizontal layout for desktop and vertical for mobile.
Elaborate more on the multi-facetted use cases
Developer stories:
- Story 1: As a developer, I want to be able to choose the stepper layout, so that I can show a horizontal one on desktop and a vertical one on smartphone screens.
- Story 2: As a developer, I want to be able to choose whether steps are mandatory or optional, so that I can have proper validation at the end of the flow.
- Story 3: As a developer, I want to be able to define arbitrary layout as the content for a step, so that I can create progressive forms and onboarding flows without being constrained.
- Story 4: As a developer, I want to be able to define the position of the label for step, so that I can place it before, after, above or below the visual indication.
- Story 5: As a developer, I want to be able to customize the visual step element, so that I can add a graphic element in it.
- Story 6: As a developer, I want to be able to define whether a line should be drawn to connect the steps, so that I can support the user to understand the sequence of steps.
- Story 7: As a developer, I want to be able to define the stepper as strictly linear (gated mode vs. ungated mode where you navigate steps freely), so that I don't let users to move to the next step unless everything up to it has been completed.
- Story 8: As a developer, I want to be able to define the stepper as read-only, so that it only serves as a visual cue but cannot be clicked to navigate between steps.
End-user stories:
- Story 1: As an end-user, I want to have a clear visual indication of what I should expect from each step, so that I know which ones are relevant/important to me.
- Story 2: As an end-user, I want to have a clear visual indication for the step I am currently at, so that I know approximately how much is left.
- Story 3: As an end-user, I want to have a clear visual indication for completed and uncompleted steps, so that I can finish what is left.
- Story 4: As an end-user, I want to have a clear visual indication for optional steps, so that I can skip them if they are not relevant.
- Story 5: As an end-user, I want to navigate between the steps with the keyboard one at a time, so that I can fill a progressive form more quickly.
- Story 6: As an end-user, I want to see the progress of a multistep process, so that I can e.g. track the delivery of an order.
Describe behavior, design, look and feel of the implemented feature. Always include visual mock-up
3.1. End-User Experience Nesting steppers into each other is frustrating and destroys the UX.
References for well-designed and functional steppers:
3.2. Developer Experience
3.3. Globalization/Localization
Describe any special localization requirements such as the number of localizable strings, regional formats
3.4. Keyboard Navigation
Keys | Description |
---|---|
3.5. API
Name | Description | Type | Default value | Valid values |
---|---|---|---|---|
Name | Description | Return type | Parameters |
---|---|---|---|
Name | Description | Cancelable | Parameters |
---|---|---|---|
Automation
- Scenario 1:
- scenario 2:
ARIA Support
RTL Support
Assumptions | Limitation Notes |
---|---|
Specify all referenced external sources