The Database, Data Management and Analytics design system is a living and breathing product that will continue to evolve as our organization and product offerings grow. But product teams may still find the need to create custom components on occasion. This should be done responsibly and with special care for our foundational consistency standards.

7 Standards to follow

Please follow the 7 standards below when designing custom components. They are rooted in our most basic standards and meet the requirement of Fiori apps. If you are using a component from the UI5 library, these things are built into them, but if you choose to design a custom one, then it is your responsibility to meet them in order to provide the highest quality user experience.

Testing and research

Designing with the 7 standards in this guide is not an exact pass or fail because they are not absolute values. But exactly how you use them will determine much of your success. As such, always test custom components with as many internal and external users as possible, and make changes that are evidence-based and data-driven. If you require support for testing and research, please contact your local design services team.

Documenting new components

Not every custom component will need to be documented in the Database, Data Management and Analytics design system. If you have one that has been well-researched, properly tested, and with high reuse value, please contact the design system project team so it can be documented and made available to the rest of the organization.

1. Context

Your custom component will need to fit in an existing ecosystem of established components, pages, product, and family of products. Your custom component can’t exist independent from this context, so consider how your colleagues solved the same problem or similar ones in their product areas. Seek several examples, from more than one designer, on how it’s been done before. Understanding the context is understanding your user's mental model.

You might be tempted to think your use case is different, but think beyond the content it represents, and instead look for the problem it’s trying to solve. Anyone can see how two components are different, but it takes maturity to recognize how they are similar.

Only then, decide if you should re-use an existing component or design a new one. If you make updates to the existing one, discuss with your colleagues how to unify these experiences.

2. Users

Who are you designing for? What research is available about their persona type, needs, habits, challenges, and the tools they are accustomed to using? The better you know your user, the easier it becomes to make informed design decisions. But a few points to keep in mind:

guideline
To learn more about your user’s persona, please see the BTP User Matrix, SAC personas, or DWC personas for more information specific to those areas.

3. Design Language

When creating a custom component, it still needs to speak with the same visual language of SAP products. Strive for a recognizable look and feel by using elements from the SAP Fiori design language, such as colour palettes, typography, iconography, size, spacing, shadow principles, etc.

guideline
Please see Look, Feel, and Wording in SAP Fiori for more information.

4. Accessibility

Accessibility means everyone, especially those with disabilities, can access and use information and communication technology. It is an inclusive approach to designing and building products.

SAP Fiori and SAPUI5 include a large set of controls with features that support accessible implementation, including keyboard enablement, resizing behavior, or support for theme changes. If you are designing a custom component, it is your responsibility to ensure these same features are implemented manually.

Design and build for accessibility by considering:

72’s design is optimized for legibility, readability and ultimately, accessibility.

guideline
Please see Accessibility in SAP Fiori in SAP Fiori and SAP Accessibility Standard for more information.

5. Responsiveness

We design for screen sizes of 1440px wide but most of our users have different screen sizes, often smaller than this. Responsiveness is built into Fiori UI5 controls but needs to be implementing manually into any custom component outside of the UI5 library. It is your responsibility to ensure your custom component is responsive to different screen sizes.

Avoid hardcoding exact size values, as this is your first indication of working against responsiveness. Instead, consider what your component will look like at different screen breakpoints, and how come into play at different sizes. The screen breakpoints defined by Fiori are good starting point:

Designing icon tab bar for responsive and overflow behaviours

guideline
Please see Responsive Space System in SAP Fiori for more information.

6. Interaction States

In addition to interaction states like regular, hover, pressed, and disabled states, consider all additional states your custom component and its data needs to go through for successful interactions, such as:

guideline
For general information on interaction states, please see UI Element States in SAP Fiori

7. Theming

Reduce or eliminate the use of HEX codes on their own. Find the appropriate parameter name from the Fiori library to ensure you are using just the right kind of blue. Parameter names should not be used at random or interchangeably just because they match your desired hex code.

Ensure the right parameter name for the sake of theming and color mode changes (ie., quartz light vs quartz dark).

guideline
Please see Theming in SAP Fiori for more info

The Database, Data Management and Analytics design system is a living and breathing product that will continue to evolve as our organization and product offerings grow. But product teams may still find the need to create custom components on occasion. This should be done responsibly and with special care for our foundational consistency standards.