freedomofpress / securedrop

GitHub repository for the SecureDrop whistleblower platform. Do not submit tips here!
https://securedrop.org/
Other
3.62k stars 688 forks source link

Update SI Error Text #6197

Open ninavizz opened 2 years ago

ninavizz commented 2 years ago

Problem

When a Source submits the page without any selected files or entered message text, they get the below as an error message. The text itself reads in both a robotic and a policing tone. #acab

Also, in the soon-to-implement Inverted Flow design direction, all error/success messaging must begin with a declarative statement to follow the new design—which is also a generalized best-practice. The declarative should tell the user What just happened (eg, what the error is).

Screen Shot 2021-12-11 at 4 50 30 PM

Solution

Tell the user what "the problem" is, first. Don't trigger them to first think "What'd I do?" Then instruct them how to rectify, as briefly as possible. "Please" is always a bad word to begin any messaging with, yet is also always good to include in messaging when it doesn't bloat the sentences. Because the user had just hit the "Submit" button and is receiving this message in response to that, it feels safe to leave "...before you hit "Submit" (or "Send," as I'm experimenting with in the below Figma) as an implied statement, in the interest of brevity.

Screen Shot 2021-12-11 at 5 14 02 PM

User Stories

I am a whistleblower, and am anxious in my process submitting a tip to New York World that could ruin my career. I had butterfingers and hit "Submit" before selecting my file to upload. When I get an error in return, it would be great if that error could not further stoke my anxiety by sounding bossy or robotic, with instructing me how to rectify the problem.

eaon commented 2 years ago

Because the design changes were just merged, we now have an (optional) "declarative" for flash messages as proposed in this issue. It looks better and feels friendlier but changing the language is a crucial part to making good use of it.

We have 3 categories of flash messages:

Below is the entire list of flash messages possible in the current source interface and the rough context in which they happen (if it isn't self-evident). I hope this makes it easier for us to discuss and propose different options.

(Legend: [Type] Declarative - Message (more context in italic))

Session / account related

Login form validation

Submission form bad input

Successful submissions

Reply deletion

Failed login