Problem/Motivation

When a user visits the account cancellation form, We have four options:

  • Disable the account and keep its content.
  • Disable the account and unpublish its content.
  • Delete the account and make its content belong to the "anonymous user name" user.
  • Delete the account and its content.

And the description below states:

Select the method to cancel the account above. This action cannot be undone.

We can go back with the first two options.

Proposed resolution

I believe it needs to be updated to be more accurate with the available options.

Current UI.
account_cancellation

Suggested UI

CommentFileSizeAuthor
#86 UserMultipleCancelForm.png63.71 KBpaulocs
#86 UserCancelForm.png58.79 KBpaulocs
#72 UserMultipleCancelForm.png70.6 KBpaulocs
#72 UserCancelForm.png66.1 KBpaulocs
#72 AccountDisableMessage.png58.62 KBpaulocs
#69 UserCancelForm.png60.06 KBpaulocs
#69 UserMultipleCancelForm.png64.13 KBpaulocs
#56 Img 04 - UT.PNG4.95 KBgabriel.abdalla
#56 Img 03 - Logs.PNG32.98 KBgabriel.abdalla
#56 Img 02 - UI.PNG10.32 KBgabriel.abdalla
#56 Img 01 - UI.PNG21.9 KBgabriel.abdalla
#43 interdiff_41-43.txt902 bytesvsujeetkumar
#43 3199972-43.patch11.01 KBvsujeetkumar
#41 3199972-41.patch10.82 KBSuresh Prabhu Parkala
#39 Screenshot 2021-03-27 at 11.00.47 PM.png61.37 KBanmolgoyal74
#38 interdiff_36-38.txt5.36 KBvsujeetkumar
#38 help_text_on_account_cancellation-3199972-38.patch11.09 KBvsujeetkumar
#36 help_text_on_account_cancellation-3199972-36.patch7.4 KBvakulrai
#35 interdiff-319997-35.txt4.24 KBvakulrai
#35 help_text_on_account_cancellation-3199972-35.patch7.1 KBvakulrai
#18 after-patch.png185.81 KBabhisekmazumdar
#18 before-patch.png194.95 KBabhisekmazumdar
#13 Screenshot 2021-03-05 at 10.32.02 PM.png50.38 KBanmolgoyal74
#13 interdiff_5_13.txt1.68 KBanmolgoyal74
#13 3199972-13.patch3.44 KBanmolgoyal74
#5 Screenshot 2021-02-26 at 10.32.13 PM.png44.24 KBanmolgoyal74
#5 3199972-5.patch1.8 KBanmolgoyal74
#4 Screenshot 2021-02-26 at 10.16.22 PM.png43.98 KBanmolgoyal74
Screenshot 2021-02-24 at 12.54.05 AM.png36.59 KBanmolgoyal74

Issue fork drupal-3199972

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

anmolgoyal74 created an issue. See original summary.

longwave’s picture

In the second option, the unpublishing cannot easily be undone - especially if the user had some unpublished content beforehand. I think the sentence is clear enough that cancelling an account is generally an irreversible action, trying to explain that the first option is technically reversible is not worth adding an overcomplicated explanation.

AaronMcHale’s picture

#3043725: Provide a Entity Handler for user cancelation could have implications/relevancy here, as it aims to provide a process for any entity type to hook into the user cancelation and take appropriate actions based on what was chosen on this form.

anmolgoyal74’s picture

Issue summary: View changes
FileSize
43.98 KB

Updating the screenshot as discussed in #3200598: Drupal Usability Meeting 2021-02-26

anmolgoyal74’s picture

Issue summary: View changes
Status: Active » Needs review
FileSize
1.8 KB
44.24 KB

We discussed this issue at #3200598: Drupal Usability Meeting 2021-02-26

The suggestion was to update the text of last two options to include word "Permanently".
The last two options will be:

  • Permanently delete the account and make its content belong to the "anonymous user name" user.
  • Permanently delete the account and its content.

And the other suggestion is to remove the following text from the description available below the options.

This action cannot be undone.

Adding the patch to implement to the suggested change and also the screenshot of the update UI.

longwave’s picture

Do we even need the "Select the method" text any more? The user can already see the radio buttons. If we want to force them to make a choice we could not provide a default option?

Status: Needs review » Needs work

The last submitted patch, 5: 3199972-5.patch, failed testing. View results

AaronMcHale’s picture

Thanks for the work on this @anmolgoyal74, looking good :)

Re @6longwave in #6:

Do we even need the "Select the method" text any more? The user can already see the radio buttons. If we want to force them to make a choice we could not provide a default option?

I agree with you, during the UX meeting I made the point that the whole line was redundant. We were running low on time so agreed to revisit this issue at next week's meeting and discuss further since we'd seen the proposed changes so far. You'd be welcome to join next week's meeting if you'd also like to input on the issue at the meeting :)

benjifisher’s picture

Status: Needs work » Active
Issue tags: -Needs usability review

As mentioned in #5, we discussed this at the Usability meeting on 2021-02-26. I am removing the tag for a review.

Gauravvvv’s picture

Help text suggestions:
When canceling the account -> Select method to:
Change the cancel account to Confirm

Getting rid of cancellation.

AaronMcHale’s picture

Status: Active » Needs work
Issue tags: +Needs followup

We discussed this again at #3200771: Drupal Usability Meeting 2021-03-05.

We have the following recommendations based on the latest screenshot in #5.

  • Change the text "When cancelling the account" to "Select the method to:" (include the colon), this then leads the user into the 4 options.
  • Remove " to cancel account" from the "Require email confirmation to cancel the account", so it would simply read "Require email configuration".
  • Completely remove the line of text "Select method to cancel the account above", which sits above the action buttons, as this is now redundant text.
  • Change the label of the "Cancel account" button to simply "Confirm". Having two buttons with one saying "Cancel account" and the other saying "Cancel" could be confusing.

There was overall agreement during the meeting that these proposed changes would make the screen much cleaner and removes the ambiguity a round the word "cancel".

An idea was raised to have the label of the primary action button change dynamically depending on which of the four options was chosen. The idea being that if either the first or second option was chosen the label could read "Disable", whereas if either the third or fourth option was chosen the label could read "Delete". It was agreed that this should be explored in a follow-up issue.

Finally, we agreed to bring this issue back for one final look and sign-off once these changes had been implemented.

AaronMcHale’s picture

anmolgoyal74’s picture

Issue summary: View changes
Status: Needs work » Needs review
FileSize
3.44 KB
1.68 KB
50.38 KB

Updated the patch as suggested in #11. Once this is confirmed. I will update the tests as well.

One more point of concern:
When cancelling own account, the description says

When cancelling your account

I think we need to update this as well. We can keep it the same in both cases.

longwave’s picture

+++ b/core/modules/user/src/Form/UserCancelForm.php
@@ -58,7 +58,7 @@ public function getDescription() {
     if ($this->selectCancel) {
-      $description = $this->t('Select the method to cancel the account above.');
+      $description = NULL;
     }

$description should be a string rather than NULL. This entire if statement could be reworked a bit to make it simpler, but not sure it is worth it.

anmolgoyal74’s picture

Yes, I agree. I think we should do it.

Status: Needs review » Needs work

The last submitted patch, 13: 3199972-13.patch, failed testing. View results

AaronMcHale’s picture

@anmolgoyal74

Thank you for the updated screenshot and patch.

The question of what the user sees when cancelling their own account did come up at the last UX meeting, would you mind also posting a screenshot of that interface as it currently is in Core, and then a second screenshot of what it looks like once the patch is applied?

Thank you.

abhisekmazumdar’s picture

FileSize
194.95 KB
185.81 KB

Attaching the screenshots for: "what the user sees when canceling their own account"

Before Patch

After Patch

anmolgoyal74’s picture

AaronMcHale’s picture

AaronMcHale’s picture

AaronMcHale’s picture

Related issues:

benjifisher credited idebr.

benjifisher credited ifrik.

benjifisher’s picture

I am transferring credit from the duplicate issue #1649286: Reword user cancellation form buttons.

AaronMcHale’s picture

We looked at this issue at #3201985: Drupal Usability Meeting 2021-03-12.

The group were happy with the latest text changes for the administrative interface.

Regarding potential impact and any text changes on the user facing interface (as seen in comment #18), we were happy with changes that the patch would make, but we did agree that a follow-up issue should be created to look more specifically at the text on the user facing screen. This would be in addition to the follow-up issue that was suggested in #11.

Overall though, the UX group are now happy to sign-off on the proposed changes this issue will make.

Tagging needs issue summary update, as it probably needs a slight update.

Edit (next day): I remembered this morning that during the meeting it was also noted by Benji that the spelling of the word "cancellation" (in the "require confirmation email" description) needs to be changed to the American English spelling "cancelation".

AaronMcHale’s picture

vakulrai’s picture

Updated Tests and made changes to the cancellation form as per #33.

vakulrai’s picture

The Drupal Cspell word checker is not considering "cancelation" as a part of valid word , so I have added it to the spell library.

Status: Needs review » Needs work

The last submitted patch, 36: help_text_on_account_cancellation-3199972-36.patch, failed testing. View results

vsujeetkumar’s picture

Status: Needs work » Needs review
FileSize
11.09 KB
5.36 KB

Fixing fail tests and created patch, Please have a look.

anmolgoyal74’s picture

Need confirmation on the highlighted text which is displayed when a user tries to cancel their own account.

When cancelling your account

cancel own account screen

1) Do we also need to update this text or not? This is only displayed when a user tries to delete their own account. When admin tries, we have changed the text to "Select the method to:"

    $form['user_cancel_method'] = [
      '#type' => 'radios',
      '#title' => $own_account ? $this->t('When cancelling your account') : $this->t('Select the method to:'),
      '#access' => $this->selectCancel,
    ];

2) I think we need to change the spelling here also from "cancelling" to "canceling".

renatog’s picture

Status: Needs review » Needs work

+ '#description' => $this->t('When enabled, the user must confirm the account cancelation via email.'),

The word "Cancelation" and "Cancellation" both correct but we should use "cancellation" in this case:

+ '#description' => $this->t('When enabled, the user must confirm the account cancellation via email.'),

It's because there is this word in other comments. E.g.:

// Repeat with permission to select account cancellation method.

So we need to be consistent, to use the same standard in the file

So another possibility is to change the comments to use "cancelation" as well

From:
// Repeat with permission to select account cancellation method.

To:
// Repeat with permission to select account cancelation method.

Suresh Prabhu Parkala’s picture

Status: Needs work » Needs review
FileSize
10.82 KB

Changed "Cancelation" to "cancellation" as mentioned in #40. Please review.

Status: Needs review » Needs work

The last submitted patch, 41: 3199972-41.patch, failed testing. View results

vsujeetkumar’s picture

Status: Needs work » Needs review
FileSize
11.01 KB
902 bytes

Removed 'Cancelation' from the dictionary.txt and Fixed fail test.

AaronMcHale’s picture

Status: Needs review » Needs work

See note in comment #33 from UX group review, the spelling should be "cancelation".

Edit (next day): I remembered this morning that during the meeting it was also noted by Benji that the spelling of the word "cancellation" (in the "require confirmation email" description) needs to be changed to the American English spelling "cancelation".

So in all cases it should be "cancelation" not "cancellation".

longwave’s picture

There's a whole article on Grammarly about this which suggests "cancellation" is correct for US and UK English: https://www.grammarly.com/blog/canceled-vs-cancelled/

Version: 9.2.x-dev » 9.3.x-dev

Drupal 9.2.0-alpha1 will be released the week of May 3, 2021, which means new developments and disruptive changes should now be targeted for the 9.3.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

xurizaemon’s picture

Noting the existing signoff from UX group on this, I want to note that the most recent screenshots (#18, #39) show a button labelled "Cancel" which has the action of "don't cancel the account". This might be confusing to some folks?

vsujeetkumar’s picture

Issue tags: +Needs reroll

Needs a re-roll.

AaronMcHale’s picture

Assigned: Unassigned » AaronMcHale
Issue tags: +Needs usability review

Re #47: Thinking about that for a bit, I kind of, sort of agree, that maybe this could be another point of confusion. But then the pattern of "Confirm" and "Cancel" is a very common pattern that's recognised across systems and interfaces, however we are using the word "cancel" with different meaning in the same UI, which is a big UX problem.

Okay, I'm going to bring this issue back up at a usability meeting and get a recommendation, so self-assigning for now.

Queuing for review at #3228187: Drupal Usability Meeting 2021-08-20 or a future meeting, thanks.

AaronMcHale’s picture

Assigned: AaronMcHale » Unassigned
Issue tags: -Needs usability review

As per comment #49, we discussed this at #3228187: Drupal Usability Meeting 2021-08-20.

We discussed the potential for confusion around the use of the word "cancel" to mean two different things. The word "cancel" is used for the "Cancel" button to mean "abort this action" (the opposite of "confirm"), and is also used to refer to the action of cancelling the user. We agreed that this is a problem and a potential source of confusion.

We did not want to recommend changing the text of the "Cancel" button, as the "Cancel" button is a generally well used and well understood pattern. We did propose the idea of changing the use of "cancel"/"cancellation" (in the context of cancelling the account) to use the terms "Close" and "Closure". In other words, that would mean instead of saying "cancel account" we would say "close account"; We noted that this is a well understood pattern, the specific example being of a credit card or bank where users understand the process of "closing" their account.

We decided to recommend changing this as part of a follow-up issue. This is because we identified a number of other areas where the this change would need to be made, and in addition changing the path of the form, which would be seen as a backwards compatibility break and so would need to be done in a major release (aka in 10.0.x).

I'm leaving this as Needs Work because we found that there is a companion "Account cancellation" form for bulk cancellations, and that form will also need to be updated to match the changes to the UserCancelForm. Essentially that means copying the changes made in Drupal\user\Form\UserCancelForm to Drupal\user\Form\UserMultipleCancelConfirm.

We also noted that a reroll for 9.3.x is still needed as the latest patch fails to apply due to changes in the tests.

Thanks.

AaronMcHale’s picture

Filed #3229136: Rationalise our use of "block" and "disable" relating to users which we discovered as a problem while reviewing this issue.

Also filed #3229146: Rename "Account cancellation" to "Account closure" in UI as per comment #50.

In a previous review in comment #11, we recommended filling a follow-up for dynamically changing the primary action button text depending on if one of the disable or delete options are chosen, however we now feel the "Confirm" option is sufficient and this would probably just be more work for very little benefit, so removing the follow-up tag now.

AaronMcHale’s picture

paulocs’s picture

Assigned: Unassigned » paulocs

Working on it.

paulocs’s picture

Assigned: paulocs » Unassigned
Status: Needs work » Needs review
Issue tags: -Needs reroll

I moved the issue to MR approach and added the changes to UserMultipleCancelConfirm.php as well.

gabriel.abdalla’s picture

Status: Needs review » Reviewed & tested by the community
FileSize
21.9 KB
10.32 KB
32.98 KB
4.95 KB

Hi, changes look good.

Steps performed:
(1) Got changed code.
(2) Code review.
(3) Basic sanity test.
(4) No errors in log.
(5) Run Unit Testing: BulkFormAccessTest.php

larowlan’s picture

Status: Reviewed & tested by the community » Needs review

I think this is a great cleanup, however I'm not sure about the 'Select the method to:' label to the field.

I don't think this conveys what the field set is doing to a non-sighted user. And I'm not sure it is the right text for a sighted user either.

Not professing to be a UI expert, so will yield to the team - but I think the `to:` on the end is what's giving me pause.

AaronMcHale’s picture

Thanks @larowlan that's a really interesting point, and I can see where you're coming from.

I'd be interested to get some input on that from an accessibility maintainer as I have a feeling your right and that might be something we overlooked. As someone with a visual impairment myself, I can definitely see where this might cause problems for users of screen readers and those using keyboard navigation.

Thanks,
-Aaron

AaronMcHale’s picture

Issue tags: +Needs usability review

I raised this in the accessibility channel on Slack, however haven't gotten any feedback yet, I will also bring this back up at a usability call, so have queued it for next weeks meeting #3232405: Drupal Usability Meeting 2021-09-17, thanks.

AaronMcHale’s picture

Status: Needs review » Needs work
Issue tags: -Needs accessibility review, -Needs usability review

We looked at this issue during #3232405: Drupal Usability Meeting 2021-09-17, specifically regarding comments 57, 58 and 59.

After some discussion around the wording of "Select the method to:", after brainstorming some options we settled on the wording "Select the cancellation method" (without the colon).

This felt the most concise while still conveying what the choice is that the user is required to make.

xurizaemon’s picture

Updated MR for this. A few notes!

I was unsure about the trailing colon, and in Aaron's comment above it is removed. I have removed it. I could not find any mention of whether trailing colons are appropriate for option list labels in https://www.drupal.org/docs/develop/user-interface-standards/interface-text ... EDIT: You said "without the colon" right there, I missed that first time!

While looking for that guidance I noticed that https://www.drupal.org/docs/develop/user-interface-standards/radio-buttons includes the text

Avoid (...) beginning with "Select to…" or "Choose to…" because these are usually redundant.

(I didn't participate in that meeting, so the MR accepts the text as proposed and I'm flagging that guidance for visibility.)

MR also changes two inline docs strings, tidy up but happy to remove if those aren't appropriate here.

xurizaemon’s picture

Status: Needs work » Needs review
AaronMcHale’s picture

Re #61: That is a good point, thanks for raising the Ui standards. The spirit of the discussion during the meeting was essentially: what are the fewest possible words we can use to convey what the options represent. If our UI standards advise against "Select...", and since we follow the practice of less is more, I'd say going with simply "Cancellation method" is probably fine.

xurizaemon’s picture

Status: Needs review » Needs work
xurizaemon’s picture

Status: Needs work » Needs review
AaronMcHale’s picture

Status: Needs review » Needs work
Issue tags: +Needs screenshots

NW for the removal of the if statement and I think all unresolved threads can now be resolved. Also if we could get an updated screen shot in the issue summary that would be helpful given the change to the field label.

Thanks,
-Aaron

worldlinemine’s picture

It's great to see that what we discussed in the UX Community meeting the other week is being incorporated. Everything appears to be on track and I wanted to thank the folks working on this for adjusting to our suggestions.

paulocs’s picture

Assigned: Unassigned » paulocs
paulocs’s picture

Assigned: paulocs » Unassigned
Issue summary: View changes
Status: Needs work » Reviewed & tested by the community
Issue tags: -Needs issue summary update, -Needs screenshots
FileSize
64.13 KB
60.06 KB

Updated IS with the new interface and attached a screenshot of the UserMultipleCancelForm.

Moving issue to RTBC.

AaronMcHale’s picture

Status: Reviewed & tested by the community » Needs work

Thanks for the screenshots and update Paulo, although I'm getting this back to NW because there are some unresolved threads in the MR.

I also noticed from your screenshots that the change in the label text to "Cancellation method" only seems to have happened for UserMultipleCancelForm, UserCancelForm still seems to be using a previous iteration of the label.

Once the outstanding thread are resolved, I think this can to go back to RTBC, thanks.

paulocs’s picture

Assigned: Unassigned » paulocs
paulocs’s picture

Assigned: paulocs » Unassigned
Issue summary: View changes
Status: Needs work » Needs review
FileSize
58.62 KB
66.1 KB
70.6 KB

Resolved all threads and attached screenshots.

AaronMcHale’s picture

Status: Needs review » Reviewed & tested by the community

Alright, this is looking good, happy to RTBC this!

larowlan’s picture

Status: Reviewed & tested by the community » Needs review
Issue tags: +String change in 9.3.0

One minor nit on the MR for readability (my campaign against else continues!)

Tagging as a string change as there's three changes here.

That means this can only change in 9.3.x (i.e. can't be backported).

Also are we sure this is a bug? It feels like a task to me.

Left a comment on the MR to confirm that we're sure about the latest string change (I think its good, but just looking for a +1 yes we know its a translation break)

larowlan’s picture

AaronMcHale’s picture

Category: Bug report » Task

Agree this is not a big, reclassifying.

paulocs’s picture

I removed the 'else' but not what was inside it, because if the #confirm_description is not set, the getDescription() method should return $this->cancelMethods['#options'][$default_method]; as it was before. Does it make sense?

About the string change mentioned in #74, i agree with the points that @xurizaemon wrote in #75 and makes sense to have them changed.

AaronMcHale’s picture

+1 to removing the else statement, I will happily join @larowlan on his campaign against the else!.

Agree I think changing the text is a worthwhile change here.

AaronMcHale’s picture

Status: Needs review » Reviewed & tested by the community
AaronMcHale’s picture

Title: Update Help text on account cancellation screen » Improve the user interface text on the account cancellation screen

Taking the opportunity to retitle this.

AaronMcHale’s picture

Title: Improve the user interface text on the account cancellation screen » Improve user interface text on the account cancellation screen

Take 2.

alexpott’s picture

Status: Reviewed & tested by the community » Needs work

I think we need to work on the new test a little more. There is no such thing as permanent delete vs another delete in Drupal.

AaronMcHale’s picture

Thanks Alex, I have commented on the MR.

AaronMcHale’s picture

paulocs’s picture

Status: Needs work » Needs review
paulocs’s picture

AaronMcHale’s picture

Status: Needs review » Reviewed & tested by the community

Latest change has gone green, think we're all good here again!

larowlan’s picture

Saving credits

  • larowlan committed 3f0caa8 on 9.3.x authored by paulocs
    Issue #3199972 by paulocs, xurizaemon, anmolgoyal74, vsujeetkumar,...
larowlan’s picture

Status: Reviewed & tested by the community » Fixed

Thanks all for being accommodating of the numerous rounds of changes here

Merged to 9.3.x

AaronMcHale’s picture

Yay 🎉

Thanks @larowlan!

AaronMcHale’s picture

For anyone looking to help move along some related issues, it would be great to get some of these moving along:

AaronMcHale’s picture

Adding release highlights tag in case there's space for this, if not feel free to remove.

Status: Fixed » Closed (fixed)

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