This task should exemplify what must-have and nice to have(*) steps to adhere to with designing a new component to Wikimedia Design Style Guide (DSG).
This list is a snapshot and updated alongside evaluation with and iteration by Wikimedia Design team members and finally should be added to DSG:
- Research and prepare
- Find any related components to the one you need. Look in these places:
- DSG itself,
- WVUI Storybook demo or former standard library OOUI demos
- OOUI Phabricator board with widget/component requests (40+ products using OOUI alone), or
- Mediawiki-interface Phabricator board.
- File a Phabricator task with the new component request, an overview of current related components in different Wikimedia products from above and its improvements over existing components. Be sure to flag to the product owners, to make them aware of a new component – by either adding product tags on new task or referencing it on older open tasks
- Ensure the problem statement for the addition is clear and that Design Systems Lead or Principal Designer has provided “go” for this new component or this type.
- Find any related components to the one you need. Look in these places:
- Design
- Follow DSG's visual style and components guidelines to provide a consistent experience. Incorporate responsive design from the beginning.
- Ensure different device interactions are provided. Example: Mobile vs tablet vs desktop.
- Ensure internationalization needs and various language scripts are considered. Example: German word length or Burmese letter box height.
- Research accessibility best-practices around the type of component are met. Example: Ensure to think about different modes of interaction like keyboard navigation.
- Test
- Gather user feedback and iterate. Example: Consider reaching out to accessibility consultants on higher complex components.
- Handover to development
- Use WikimediaUI Base CSS variables. Define new ones if clearly needed.
- Design quality assurance
- Does the component behave as expected and follow the templates?
- Does it work across required browsers, viewports, assistive technology as intended. QA engineers support needed.
- Finalize and document
- Add new component page in DSG or extend an existing component if it's a contextual addition as new type. Example: Thinking of different kind of menu treatment in a typeahead search vs page lists.
- User-interface library's demo is provided. Example: WVUI's Storybook instance.
Success criteria of this task:
- Provide step-by-step list of process around creating and adding component on design level to Design Style Guide
- Evaluate list with design team members in different product teams
- Provide it on Design Style Guide – (Contributing.md) or entry page to components overview