Introduction

To strengthen security, passwords have become more and more complex. They need to meet multiple requirements and they vary by service. It’s impossible for users to check and remember all requirements to create a compliant password. A password requirements popover assists users to create a password by providing the list of requirements and showing their compliance progress.

Usage

if there are multiple complex requirements to create or update a password.

if there are less than three requirements and they are simple. Consider using a description in the value state of the input field. Using the popover may slow down a simple task.

Anatomy

<div> <div>Badge</div> <div>Name</div> <div>Description</div> </div> <div> <div>A</div> <div>Container</div> <div>Popover that contains all requirement items.</div> </div> <div> <div>B</div> <div>Requirement Item</div> <div>Description of the requirement with its compliance status (pass or fail).</div> </div>

Behavior & Interactions

Placement

Show the password requirements popover when the password field is selected and focused. Placing the popover at the bottom () or the right () is preferred to make sure it doesn’t block other input fields that follow.

Responsiveness

The component follows the responsive behavior of its container, which in this case is the popover.

Update Content

Update the compliance of each requirement for every keystroke of the user. Providing immediate feedback is important, because the user can be assured of the input and know where to modify without leaving the context.

Best Practices

Good, short UI copies

2
UI Copies Do.png
do
false
Use short and succinct words to describe requirements so that the user can understand them immediately.
UI Copies Dont.png
dont
false
Try to describe requirements with full details.

List similar requirements closely

By placing similar requirements close to each other, users can easily process them. For example, if the password requires at least one special character and only selected characters are accepted, state them together as one rule or place them line by line.

Use correct status icons and semantic status

2
Icons Do.png
do
false
Use correct icons for the compliance status. When the rule is fulfilled, use "sap-icon://sys-enter-2" with the positive status. Otherwise, use "sap-icon://error" for the negative status.
Icons Dont.png
dont
false
Use different icons for the compliance status. This will confuse users to process the status.

Specifications

Image
This component is composited with multiple UI5 components: "sap.m.Popover", "sap.m.ObjectStatus".
<div> <div>Badge</div> <div>Name</div> <div>Specification</div> <div>Details</div> </div> <div> <div>A</div> <div>Container</div> <div>Width: 24rem (recommended) / 30rem (maximum)</div> <div>Width: 384px (recommended) / 480px (maximum)</div> </div> <div> <div>B</div> <div>Content Padding</div> <div>Padding: 1rem</div> <div>Padding: 16px</div> </div> <div> <div>C</div> <div>Passed Requirement Item</div> <div> <p>State: "Success"</p> <p>Icon: "sap-icon://sys-enter-2"</p> </div> <div></div> </div> <div> <div>D</div> <div>Failed Requirement Item</div> <div> <p><em>sap.m.ObjectStatus</em></p> <p>State: "Error"</p> <p>Icon: "sap-icon://error"</p> </div> <div></div> </div>

Resources

Code snippet

Popover

Object Status