Problem/Motivation

Users don't know what minimum score is required until they try to submit the form. A better UX would be to indicate what minimum score is required.

Proposed resolution

Add a message under the score, something like "The minimum strength required is strong"

Remaining tasks

review

User interface changes

new sentence under the current strength.

API changes

n/a

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

scor’s picture

Title: Indicate what minimum score is required in password widget » Indicate what minimum strength is required in password widget
Issue summary: View changes
FileSize
22.44 KB
scor’s picture

Issue summary: View changes

Not 100% happy with it but here is a first attempt at a preview (no patch yet):

Someone clever might come up with a better UX idea... maybe a green "check" icon could appear next to the current store when it's high enough... though not sure it would be obvious what it means.

greggles’s picture

Your proposal seems OK. I think it would be better as "The required minimum strength is strong." Moving the word required up front will help people see that it is important text and highlighting the most important word should help them get the summary of the info.

I could also imagine having 2 horizontal bars:

[*** ] - your score
[******* ] - required score

scor’s picture

Status: Active » Needs work
FileSize
1.5 KB

This patch doesn't implement the ultimate solution, but a useful error message will be better than nothing, and something we might want to have regardless.

banviktor’s picture

I have a little proposal that started from trying to solve this issue but it expanded a bit.

So currently the horizontal bar indicating the strength of the password is scaled from very weak to very strong in case no strength requirement is set, however when the requirement is set, the maximum of the bar is the required strength. I think this is a bit confusing, and users won't want to have better a better password set than the required as good would show the full green bar if the required strength is not set to very strong.

My proposal:

  • The bar should always be scaled from very weak to very strong.
  • The currently unused message_requirements field could show the required password strength if set. The according CSS is a bit weird because of the added border to p elements. What was it used for? Or is it still used?
  • The password not reaching the required strength should be in the list of flaws.
coltrane’s picture

I think you're right that the required password strength should be visible after starting to enter a password so the user can understand the strength rating in accordance to the requirement.

Are you suggesting that the length of the bar also reflect the strength? Right now the length is either 0%, 50% or 100%, and the color adds additional acceptance suggestion, going from red to yellow to green, and finally with a check mark on highest strength.

In hindsight relying on color communication is not universally accessible, but communicating the 0-4 range in bar length alone doesn't feel sufficient as is. The input field is short so 20% increment changes may not be noticeable.

banviktor’s picture

Right now the length is either 0%, 50% or 100%

That is true with the required strength set to good.
If you set it to strong you will see 0%, 33%, 67%, 100%.
If you set it to disabled or very strong you will see 0%, 25%, 50%, 75%, 100%.
So currently 100% is always the required strength, or if it's not set then it's very strong.

My suggestion is to use only the last scale, so users will know that their password can get better than good for example. It's a kind of a motivation to target the best possible strength.

I think the 25% changes with the colors also changing and the "Password strength: ..." text changing is fairly noticeable.

coltrane’s picture

Ah, you're right, I forgot that the bar does advance in stages matching what the required strength is. Yes, I think the last scale is appropriate along with including the required strength level before submitting the form.

banviktor’s picture

FileSize
4 KB
15.5 KB

Here's a patch for my proposal with a screenshot.
If this is the preferred UX I'll update the issue summary.

banviktor’s picture

Status: Needs work » Needs review
banviktor’s picture

FileSize
4.06 KB
900 bytes

Now if the strength requirement is disabled it won't show that Very Weak is the requirement.

banviktor’s picture

I removed the part that is not relevant to this issue (the scale of the bar). Will open a separate issue for that soon.

banviktor’s picture

Issue summary: View changes
coltrane’s picture

+++ b/password_strength.module
@@ -453,6 +462,30 @@ function password_strength_get_message_strength($strength) {
+            . '<span class="value text-score-' . $strength['score_required']

With this class it means the check mark appears, which for me on Chrome overlaps with the text before it. You could use a different class that has green font color but no background image.

Also, the meter is appearing at the top of the settings page test widget for me in Chrome OSX. @banviktor do you get that?

banviktor’s picture

Oh right sorry. Didn't try Very Strong as a requirement... it does have that background image.

Also, the meter is appearing at the top of the settings page test widget for me in Chrome OSX. @banviktor do you get that?

Yes. Sadly that's not the effect of the patch so will have to dig to find out what's causing it. This will need a third issue.

banviktor’s picture

No background image for Very Strong in the requirements.

coltrane’s picture

Yeah, the meter appearing on top can be handled separately. Patch in #16 looks really good, just one remaining discussion issue.

I think the original idea of the check mark was that it signified that the entered password is acceptable and meets the requirement. Now the requirement is communicated in text matches color and the check mark only appears for Very Strong, which is a different meaning. This new meaning is OK with me since we want users to have very strong passwords, but worth discussing.

banviktor’s picture

I think it makes more sense to have the check mark appear if the password meets the requirement. That's what check marks are for usually.

This modification would solve my css problem too (that workaround in #16 wasn't the cleanest). The check mark background could be a separate class this way.

So +1 for the old meaning. Separate issue or can I do it here (if that is the preferred UX)?

coltrane’s picture

Status: Needs review » Needs work

Sounds good, let's keep it in this issue. Setting to needs work.

banviktor’s picture

Status: Needs work » Needs review
FileSize
4.74 KB
2.27 KB
5.77 KB

Check mark is now shown if strength reaches the required score. Looks a bit weird though when set to 'disabled' (green check mark with a red Very Weak message).

Green check mark with red "Very Weak" text.

banviktor’s picture

coltrane’s picture

@banviktor could you make it so the check mark only appears if there's a required strength level set (e.g. not disabled)?

banviktor’s picture

FileSize
4.86 KB
658 bytes

Here it is.

  • coltrane committed 39fce40 on 7.x-1.x authored by banviktor
    Issue #2421725 by banviktor, scor: Indicate what minimum strength is...
coltrane’s picture

Version: 7.x-1.x-dev » 6.x-2.x-dev
Status: Needs review » Patch (to be ported)

Thank you @banviktor! Committed to 7.x and marking this issue for backport.

manuel.adan’s picture

Status: Patch (to be ported) » Closed (outdated)

I assume that the 6.x branch is no longer maintained.

greggles’s picture

Version: 6.x-2.x-dev » 7.x-1.x-dev
Status: Closed (outdated) » Fixed

As a 7.x issue it's fixed, so moving there to track it was fixed.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.