Closed Bug 1620718 Opened 5 months ago Closed 4 months ago

Unlabelled incoming/outgoing server fields in Accounts dialog

Categories

(Thunderbird :: Account Manager, defect, P1)

Desktop
Windows
defect

Tracking

(thunderbird_esr68+ fixed)

RESOLVED FIXED
Thunderbird 76.0
Tracking Status
thunderbird_esr68 + fixed

People

(Reporter: kc2mxg33, Assigned: aleca)

Details

(Keywords: access)

Attachments

(2 files, 2 obsolete files)

When us blind people like myself, who use a screenreader, sutch as jaws and NVDA, as well as narrator, for Microsoft windows, and you hit alt t for tools, and go under accounts, and go to where it says manual config, there's 2 edit boxes, to type in your pop server settings, sutch as your incoming, as well as your outgoing server settings, when you navigate back and fourth, between the 2 edit boxes, our screenreaders, don't read it properly, whatsoever, it just says edit! it needs to read as follows! incoming server, edit, outgoing server, edit! then I can type in pop.gmail.com for my incoming, and smtp.gmail.com for my outgoing server settings.

I assume this is related to Thunderbird.

Component: Disability Access APIs → Account Manager
Keywords: access
Product: Core → Thunderbird
Summary: Problem with configuring your server for email accounts → Unlabelled incoming/outgoing server fields in Accounts dialog
Target Milestone: mozilla74 → ---
Version: 75 Branch → 75

That is correct, it's related to thunderbird.
Also, another thing that needs to be addressed as well, is when you compose a message, and you type in an email address sutch as kc2mxg33@verizon.net and you tab and shift tab, back to the to edit field, where you type in your email address, jaws and NVDA, do not read it, whatsoever, the only way to read it is, by pressing incert uparrow, in the to edit field, in order to read it.

Assignee: nobody → alessandro
Severity: critical → normal
Status: UNCONFIRMED → NEW
Ever confirmed: true
Status: NEW → ASSIGNED

(In reply to Bob Edenhofer from comment #0)

you hit alt t for tools, and go under accounts, and go to where it says manual config, there's 2 edit boxes.

I'm sorry but I can't seem to find the "Manul Condig" section.
Can you describe where is that section?

(In reply to Bob Edenhofer from comment #2)

Also, another thing that needs to be addressed as well, is when you compose a message, and you type in an email address such as kc2mxg33@verizon.net and you tab and shift tab, back to the to edit field, where you type in your email address, jaws and NVDA, do not read it, whatsoever, the only way to read it is, by pressing insert uparrow, in the to edit field, in order to read it.

That's because the focused input field is empty and the written address was converted into a pill element. The input field should read something like: "To input field with one address", and update based on the number of typed addresses.

Flags: needinfo?(kc2mxg33)

Well we need this changed, secondly, when you launch a new copy of thunderbird, for the first time, you won't have any email accounts, whatsoever, so if you tab around in their, you'll see a button, that says manual config! that's where you'd configure your server for imap, nor pop! so the to edit field, needs to be fixed back to the original way, because it's confusing for us blind people, whatsoever!

Flags: needinfo?(kc2mxg33)

That dialog changed significantly since 68, but anyway. I guess you're saying, the incoming_hostname and outgoing_hostname need some aria- attributes

Ah, I see now.
Yes, you're referring to the email wizard dialog.
I'll fix those missing attributes.

This fixes the missing aria-label attributes for all the elements in the manual config area.

I'm doing a slightly unconventional implementation in order to have a more descriptive aria label, like "Incoming Protocol" and "Outgoing Protocol", instead of a simple "Protocol" repeated in all those elements.

We can clean up this afterwards once we move to fluent, as right now all the emailWizard strings are coming from a DTD file.

Attachment #9135187 - Flags: review?(mkmelin+mozilla)
Comment on attachment 9135187 [details] [diff] [review]
1620718-emailwizard-arialabel.diff

Review of attachment 9135187 [details] [diff] [review]:
-----------------------------------------------------------------

Sorry I don't think you can do it like this for localization. It's going to be wrong in many languages where words have to be formed differently when put after one another.
I think you can just let the aria-label reference the relevant <th> (give it an id). I'm surprised assistive technology couldn't figure this out automatically...
Attachment #9135187 - Flags: review?(mkmelin+mozilla) → review-

Sorry I don't think you can do it like this for localization. It's going to be wrong in many languages where words have to be formed differently when put after one another.

I had the same feeling and I suspected this wasn't a good solution.

I think you can just let the aria-label reference the relevant <th> (give it an id).

The problem with this approach, is that it will be impossible to distinguish between incoming and outgoing fields.
Using the "Server" row for example, we have two menulists which represent the "Incoming" and "Outgoing".

If I use "Server", we're gonna have 2 menulists with the "Server" aria-label but no distinction between incoming and outgoing.
If I use the "Incoming" and "Outgoing" labels from the column header, the screen reader will not know that those lists are related to the "Server" settings, returning only "Incoming" or "Outgoing".

Well in any case, I want and need that to edit field fixed, so us blind people can read it so when we tab and shift tab back to it, our screenreaders, will read it. I do not, like the way it's designed, whatsoever.

All right, I think this is it.
I implemented the summary tag to the table and used scope="row" and scope="col" to improve the accessibility context of the dataset.
And of course, I'm using the column label by referencing its ID.

This should cover everything by giving us complete groups of data that can be consumed by screen readers as single units.

Attachment #9135187 - Attachment is obsolete: true
Attachment #9135282 - Flags: review?(mkmelin+mozilla)

Are you talking about the to edit field where you type in an email address? Or, are you talking about your edit boxes, where you type in the incoming and out going server! let's be more specific, as to what were talking about.

The whole bug and conversation is about the issues in the incoming and outgoing server fields, so my patch is tackling those.
Is your screenreader also having issues with the email input field?

Yes? It Is! that's why, I need you to change the input edit field, where you type in an email address, back to the way it was! us blind people, do not, like the way it's designed, whatsoever, when you type in an email address, and you tab and shift tab, back to the to edit field, our screenreader, doesn't read the email address we type in, whatsoever. Now when you type in an email address, and you press incert uparrow, then our screenreader, will read it. Everytime you guys change something, it does more harm, then good! because you break screenreader accessibility.

I guess you're referring to the compose message window, which is unrelated to this bug.
As I wrote in comment 3, that was done on purpose to improve the usability of the compose area.
The new implementation allows you to write multiple email addresses one after another in the same context. Whenever an address is written, it gets converted into a standalone element called pill, and the input field gets cleared allowing you to keep typing new addresses.

The input field updates its accessible text by communicating to the screen reader how many email addresses are associated to that addressing row, and as you found out, by using your arrow keys you can navigate through those addresses, hit enter to edit them, or delete to cancel them.

We changed the paradigm to improve the usability of that area, and I understand that this changes might be disruptive and it will take time to train again your muscle memory.
If you really hate it and you find it unusable, please open a dedicate bug for it.

You can use aria-labelledby, which takes a space-delimited list of ID refs, and then concatenates the resulting strings. So you can reference both the info what is being asked, like server or name, etc., as well as incoming or outgoing.

As for "the assistive technology figuring this out", HTML and XUL have always relied on properly labeling fields, like <label for="<id of an input>">...</label>, or <label control="<ID of a textbox or menulist>">...</label> in the XUL case. There was never any "figuring out" otherwise, the explicit naming has to be provided by the author.

Alessandro? Just fix it, back to the way it was, that's why I'm telling you, that I'm having a hard time with it, so you wanted to help make things accessible with screenreaders, and you want feedback from us blind people, then fix the compose edit box back to the way it was, or else.

Alessandro? I deeply apologize, for the way I came acrossed, I was a bit harsh, and therefore? I was wrong, it was a mistake, I mean well, but I felt like you didn't want to hear, as to what I had to say, whatsoever. So with that being said an done, on a positive note, I want you to forgive me, and I still want to be your friend, and help you. Again, I deeply apologize, for the way I came acrossed. Eventualy, I want to learn the code, to develop thunderbird and firefox.

(In reply to Marco Zehe (:MarcoZ) from comment #16)

As for "the assistive technology figuring this out", HTML and XUL have always relied on properly labeling fields, like <label for="<id of an input>">...</label>, or <label control="<ID of a textbox or menulist>">...</label> in the XUL case. There was never any "figuring out" otherwise, the explicit naming has to be provided by the author.

In a way yes. But this is (on trunk) now in a table, with properly marked up headers so that assistive technology should be able to tell you you're now editing a field at (header) Incoming + (header) server.

Due to the massive changes in this area since 68, I wonder what the situation is on trunk actually. Marco, or Bob, if you're able to check please trunk or beta, please report back.

Comment on attachment 9135282 [details] [diff] [review]
1620718-emailwizard-arialabel.diff

Review of attachment 9135282 [details] [diff] [review]:
-----------------------------------------------------------------

::: mail/components/accountcreation/content/emailWizard.xhtml
@@ +317,3 @@
>            <html:tr>
> +            <html:th scope="col" class="config-label"></html:th>
> +            <html:th scope="col" class="column-title" id="incomingColumnLabel">

please put id first

@@ +361,5 @@
>                          oncommand="gEmailConfigWizard.onChangedOutgoingDropdown();"
>                          onpopupshowing="gEmailConfigWizard.onOpenOutgoingDropdown();"
>                          class="host uri-element"
> +                        flex="1"
> +                        aria-labelledby="outgoingColumnLabel">

Like Marco proposed, you can use
aria-labelledby="outgoingColumnLabel <id of the serverRow th>">

::: mail/locales/en-US/chrome/messenger/accountCreation.dtd
@@ +31,5 @@
>  <!ENTITY protocol.label                  "Protocol:">
>  <!ENTITY imapLong.label                  "IMAP (remote folders)">
>  <!ENTITY pop3Long.label                  "POP3 (keep mail on your computer)">
>  
> +<!ENTITY manualConfigTable.summary       "Manually configure your server settings">

I think it really is supposed to be a summary, so "Server settings"
Attachment #9135282 - Flags: review?(mkmelin+mozilla)

Thank you all for the suggestions and feedback.
This patch should take care of all the issues in the email wizard manual configuration area.

I will open a dedicated bug to explore how to improve the a11y of the compose window, as a simple fix by roll back is not possible.

Attachment #9135282 - Attachment is obsolete: true
Attachment #9135475 - Flags: review?(mkmelin+mozilla)
Comment on attachment 9135475 [details] [diff] [review]
1620718-emailwizard-arialabel.diff

Review of attachment 9135475 [details] [diff] [review]:
-----------------------------------------------------------------

LGTM, r=mkmelin
Attachment #9135475 - Flags: review?(mkmelin+mozilla) → review+

Pushed by geoff@darktrojan.net:
https://hg.mozilla.org/comm-central/rev/3ebe3ea9c128
Implement missing aria-label attributes in the emailWizard dialog. r=mkmelin

Status: ASSIGNED → RESOLVED
Closed: 4 months ago
Resolution: --- → FIXED
Target Milestone: --- → Thunderbird 76.0

This will need a 68 specific patch.

(In reply to Magnus Melin [:mkmelin] from comment #24)

This will need a 68 specific patch.

Sounds good, I'll take care of it.

.

Attachment #9135752 - Flags: review?(mkmelin+mozilla)
Attachment #9135752 - Flags: approval-comm-esr68?

Take your time, I'll continue testing.

Attachment #9135752 - Flags: review?(mkmelin+mozilla) → review+
Comment on attachment 9135752 [details] [diff] [review]
1620718-emailwizard-arialabel-68.diff

Approved for ESR
Attachment #9135752 - Flags: approval-comm-esr68? → approval-comm-esr68+

I've got a question, sense I'm on the development team for mozilla, and I'm totally blind and use a screenreader, like jaws and NVDA, what is 68.diff, can you guys email me an explain to me what it is? Because eventualy, I want to learn the code for developing thunderbird and firefox, thank you's so very kindly, I greatly appreciate it.

Hi Bob, sure I can do that on Monday if that's okay for you.
Basically 68.diff is the patch file that contains all the changesets to update Thunderbird 68 and fix this issue.
I'll send you an email with the file attached and a general overview of how we created it to implement the fix.
Cheers

Okay thank you so kindly my kind friend, I want all you developers, to stay safe, do to this covid19 virus going around, hopefully, it gets under control, very soon.
Oh! and also, I submitted a bug, regarding the problem I'm having with the to edit field, in thunderbird as well, may I please have you assigned to that bug as well? I can't remember, what the bug number is, but I think I labled it, so you's can find it easier. Cheers

Okay, I downloaded the zip version of thunderbird 77 and I see some progress, with the incoming and out going edit boxes in the account wizard, but what's confusing to me is, when you go to type in your port numbers for your pop server, witch is 995 for the incoming port, and 465 for the outgoing port, it says incoming port edit auto detect, outgoing port audo detect, and another thing that needs to be addressed is, when you type in your server settings, when you hit the letter s for example, it automatically fills it in and our screenreaders say smtp.gmail.com we should be able to type in the settings, with out it automatically filling it in. Now this is what happen's, when you guys change the interface, it does more harm than good, because it breaks the accessibility, for our screenreaders, and it's very cumbersome, for us blind indaviduals to set up our accounts, I know you guys don't intentionally mean to break accessibility, whatsoever, but that's what happen's, do to changing the interface.

I don't know what you mean. There is no automatic filling as you type. The values would be PRE-filled there of course if we found them.

Okay, take this matter up with James Teh, he's also totally blind like myself, and uses a screenreader on his PC sutch as jaws and NVDA, he used to work for NVAccess, the company, who makes NVDA. He now works for mozilla.

You need to log in before you can comment on or make changes to this bug.