Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
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.
Suggested UI
Comment | File | Size | Author |
---|---|---|---|
#86 | UserMultipleCancelForm.png | 63.71 KB | paulocs |
#86 | UserCancelForm.png | 58.79 KB | paulocs |
Issue fork drupal-3199972
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:
Comments
Comment #2
longwaveIn 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.
Comment #3
AaronMcHale#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.
Comment #4
anmolgoyal74 CreditAttribution: anmolgoyal74 at OpenSense Labs for DrupalFit commentedUpdating the screenshot as discussed in #3200598: Drupal Usability Meeting 2021-02-26
Comment #5
anmolgoyal74 CreditAttribution: anmolgoyal74 at OpenSense Labs for DrupalFit commentedWe 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:
And the other suggestion is to remove the following text from the description available below the options.
Adding the patch to implement to the suggested change and also the screenshot of the update UI.
Comment #6
longwaveDo 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?
Comment #8
AaronMcHaleThanks for the work on this @anmolgoyal74, looking good :)
Re @6longwave in #6:
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 :)
Comment #9
benjifisherAs mentioned in #5, we discussed this at the Usability meeting on 2021-02-26. I am removing the tag for a review.
Comment #10
Gauravvvv CreditAttribution: Gauravvvv at OpenSense Labs commentedHelp text suggestions:
When canceling the account -> Select method to:
Change the cancel account to Confirm
Getting rid of cancellation.
Comment #11
AaronMcHaleWe discussed this again at #3200771: Drupal Usability Meeting 2021-03-05.
We have the following recommendations based on the latest screenshot in #5.
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.
Comment #12
AaronMcHaleComment #13
anmolgoyal74 CreditAttribution: anmolgoyal74 at OpenSense Labs for DrupalFit commentedUpdated 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
I think we need to update this as well. We can keep it the same in both cases.
Comment #14
longwave$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.Comment #15
anmolgoyal74 CreditAttribution: anmolgoyal74 at OpenSense Labs for DrupalFit commentedYes, I agree. I think we should do it.
Comment #17
AaronMcHale@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.
Comment #18
abhisekmazumdarAttaching the screenshots for: "what the user sees when canceling their own account"
Before Patch
After Patch
Comment #19
anmolgoyal74 CreditAttribution: anmolgoyal74 at OpenSense Labs for DrupalFit commentedComment #20
AaronMcHaleMarked #2978063: Give information to user whether account is disabled or deleted when cancelled as postponed on this issue, seems like a good issue to look at once this is addressed.
Comment #21
AaronMcHaleComment #22
AaronMcHaleComment #32
benjifisherI am transferring credit from the duplicate issue #1649286: Reword user cancellation form buttons.
Comment #33
AaronMcHaleWe 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".
Comment #34
AaronMcHaleComment #35
vakulrai CreditAttribution: vakulrai as a volunteer and at QED42 for QED42 commentedUpdated Tests and made changes to the cancellation form as per #33.
Comment #36
vakulrai CreditAttribution: vakulrai as a volunteer and at QED42 for QED42 commentedThe Drupal Cspell word checker is not considering "cancelation" as a part of valid word , so I have added it to the spell library.
Comment #38
vsujeetkumar CreditAttribution: vsujeetkumar at Material for Drupal India Association commentedFixing fail tests and created patch, Please have a look.
Comment #39
anmolgoyal74 CreditAttribution: anmolgoyal74 at OpenSense Labs for DrupalFit commentedNeed confirmation on the highlighted text which is displayed when a user tries to cancel their own account.
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:"
2) I think we need to change the spelling here also from "cancelling" to "canceling".
Comment #40
renatog+ '#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.
Comment #41
Suresh Prabhu Parkala CreditAttribution: Suresh Prabhu Parkala at Specbee commentedChanged "Cancelation" to "cancellation" as mentioned in #40. Please review.
Comment #43
vsujeetkumar CreditAttribution: vsujeetkumar at Material for Drupal India Association commentedRemoved 'Cancelation' from the dictionary.txt and Fixed fail test.
Comment #44
AaronMcHaleSee note in comment #33 from UX group review, the spelling should be "cancelation".
So in all cases it should be "cancelation" not "cancellation".
Comment #45
longwaveThere'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/
Comment #47
xurizaemonNoting 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?
Comment #48
vsujeetkumar CreditAttribution: vsujeetkumar at Material for Drupal India Association commentedNeeds a re-roll.
Comment #49
AaronMcHaleRe #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.
Comment #50
AaronMcHaleAs 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
toDrupal\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.
Comment #51
AaronMcHaleFiled #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.
Comment #52
AaronMcHaleComment #53
paulocsWorking on it.
Comment #55
paulocsI moved the issue to MR approach and added the changes to
UserMultipleCancelConfirm.php
as well.Comment #56
gabriel.abdalla CreditAttribution: gabriel.abdalla at CI&T commentedHi, 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
Comment #57
larowlanI 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.
Comment #58
AaronMcHaleThanks @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
Comment #59
AaronMcHaleI 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.
Comment #60
AaronMcHaleWe 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.
Comment #61
xurizaemonUpdated 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
(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.
Comment #62
xurizaemonComment #63
AaronMcHaleRe #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.
Comment #64
xurizaemonComment #65
xurizaemonComment #66
AaronMcHaleNW 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
Comment #67
worldlinemine CreditAttribution: worldlinemine commentedIt'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.
Comment #68
paulocsComment #69
paulocsUpdated IS with the new interface and attached a screenshot of the
UserMultipleCancelForm
.Moving issue to RTBC.
Comment #70
AaronMcHaleThanks 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.
Comment #71
paulocsComment #72
paulocsResolved all threads and attached screenshots.
Comment #73
AaronMcHaleAlright, this is looking good, happy to RTBC this!
Comment #74
larowlanOne 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)
Comment #75
larowlanComment #76
AaronMcHaleAgree this is not a big, reclassifying.
Comment #77
paulocsI removed the 'else' but not what was inside it, because if the
#confirm_description
is not set, thegetDescription()
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.
Comment #78
AaronMcHale+1 to removing the
else
statement, I will happily join @larowlan on his campaign against theelse
!.Agree I think changing the text is a worthwhile change here.
Comment #79
AaronMcHaleComment #80
AaronMcHaleTaking the opportunity to retitle this.
Comment #81
AaronMcHaleTake 2.
Comment #82
alexpottI 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.
Comment #83
AaronMcHaleThanks Alex, I have commented on the MR.
Comment #84
AaronMcHaleComment #85
paulocsComment #86
paulocsAttaching screenshots and updating IS.
Comment #87
AaronMcHaleLatest change has gone green, think we're all good here again!
Comment #88
larowlanSaving credits
Comment #90
larowlanThanks all for being accommodating of the numerous rounds of changes here
Merged to 9.3.x
Comment #91
AaronMcHaleYay 🎉
Thanks @larowlan!
Comment #92
AaronMcHaleFor anyone looking to help move along some related issues, it would be great to get some of these moving along:
Comment #93
AaronMcHaleAdding release highlights tag in case there's space for this, if not feel free to remove.