Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Accessible Authentication needs better techniques #1916

Closed
mbgower opened this issue Jun 21, 2021 · 23 comments · Fixed by #2920 or #3174
Closed

Accessible Authentication needs better techniques #1916

mbgower opened this issue Jun 21, 2021 · 23 comments · Fixed by #2920 or #3174

Comments

@mbgower
Copy link
Contributor

mbgower commented Jun 21, 2021

G128 Email link authentication is the only existing technique for Accessible Authentication. I don't believe anyone would recommend it as the optimal way of meeting this criterion, especially because it just 'kicks authentication down the road' by sending the password to an email account, where the user is going to have to authenticate to that website, which in turn must meet the same criterion for accessible authentication.
Here are other candidates:

  1. There are some obvious missing techniques that match each of the Examples: properly marking up inputs and not preventing paste, WebAuthn, etc.
  2. A possible Advisory technique is: Providing a mechanism for the user to reveal the masked password string (something that allows users to confirm the populated field matches the password they expect)
  3. A possible failure technique: Failure of Success Criterion 3.3.7 due to restricting text input options

It could focus on this kind of construction:
<input type="text" onpaste="return false;" ondrop="return false;" autocomplete="off" /> myElement.addEventListener('paste', e => e.preventDefault());

@mbgower mbgower added WCAG 2.2 3.3.7 Accessible Authentication deprectated - use 3.3.8 Accessible Authentication (Minimum) labels Jun 21, 2021
@alastc
Copy link
Contributor

alastc commented Jun 21, 2021

Yep, more techniques needed. Just need someone to draft one or more...

@mraccess77
Copy link

@mbgower with email auth you don't need to login again down the road - simply following the link in the email will log you in. An example that has this is Slack. I believe Discord might have a similar one and one that you can log in from another device or through a QR code, etc.

@mbgower
Copy link
Contributor Author

mbgower commented Jun 23, 2021

@mraccess77

with email auth you don't need to login again down the road - simply following the link in the email will log you in

My point would be you do have to log into your email client to get the link. So while the G128 technique may work with website X, it won't work with your email website (e.g., yahoo). You obviously need a different technique.

@patrickhlauke
Copy link
Member

you do have to log into your email client

if you're using a web-based email client, rather than a native one ...

@mraccess77
Copy link

@mbgower I was thinking native based email clients where the password is stored - but even with web based versions they often stay logged in for a period of time especially if you are logged into a browser like Chrome and use Gmail.

@mbgower
Copy link
Contributor Author

mbgower commented Jun 23, 2021

if you're using a web-based email client, rather than a native one ...

@patrickhlauke, right, and my original comment in a survey response captured that ("Is 'use a native email client' a technical solution?"). But i suspect as a web standard we have to assume that our solution works in the context of a web environment. As well, assuming this gets ported to wcag2ict, you'd have to solve the same problem for your mobile device, operating system, etc.

I was thinking native based email clients where the password is stored

@mraccess77 I think we'd have to specify that if that is the intention in the technique, and again i wonder if that is even 'allowed'.

they often stay logged in for a period of time

But you still have to log in once in a while AND arguably you would be more likely to forget your password in that scenario, and so the solution would be more critical to work

@patrickhlauke
Copy link
Member

just a tangential observation:

properly marking up inputs and not preventing paste

are those two aspects intertwined/required to be together? I had the impression that those are two separate aspects. if they are indeed both necessary simultaneously, that wasn't clear in the wordings

@patrickhlauke
Copy link
Member

I don't believe anyone would recommend it as the optimal way of meeting this criterion

no, i think it's mostly that nobody's bothered to write any other techniques so far...

assuming this gets ported to wcag2ict, you'd have to solve the same problem for your mobile device, operating system, etc.

of course in some of the techniques that are valid for web use case simply won't translate 1-to-1 to other more general ICT cases. also, self-evident situations like "if i can't remember my computer's login details, i can get an email, but since i can't log in that won't help me". don't think that that should invalidate the emailed magic link as a technique, particularly as it's far less burdensome for authors than, say, implementing a proper WebAuthn implementation or similar.

@alastc
Copy link
Contributor

alastc commented Jun 25, 2021

Yep, we do need people to step up and add techniques. I think raising an issue that says that is practically volunteering ;-)

On the email topic, I think we should keep that aspect separate from the author responsibility. I.e. consider email a required technology, it is between the user and their email provider/client as to how they work.

@alastc
Copy link
Contributor

alastc commented Aug 20, 2021

@shawnthompson has volunteered to work on one, he'll be assigned when added to the repo.

@shawnthompson
Copy link
Contributor

I can look into this

@shawnthompson shawnthompson self-assigned this Aug 23, 2021
@JohnRochfordUMMS
Copy link

JohnRochfordUMMS commented Sep 1, 2021 via email

@JohnRochfordUMMS
Copy link

JohnRochfordUMMS commented Sep 1, 2021 via email

@shawnthompson
Copy link
Contributor

Thanks @JohnRochfordUMMS

@alastc
Copy link
Contributor

alastc commented Jan 6, 2023

@shawnthompson have you made any progress on this one? Just reviewing issues and would like to resolve...

shawnthompson added a commit to shawnthompson/wcag that referenced this issue Jan 13, 2023
@alastc
Copy link
Contributor

alastc commented Jan 13, 2023

Shawn has been working on this: https://raw.githack.com/w3c/wcag/25cafe53674522a6efdda08cec5ad9dfa89a05c1/techniques/html/authentication.html

Suggestions from the meeting:

  • In the desc, include something like: "Browsers and password managers generally use the accessible name of the input to determine how to fill it in."
  • In procedure: "For websites which require users to login with an email and password only:", as there could be other steps which need to pass/fail.
  • Suggest making it a one step procedure: "Check that each input for authentication includes an appropriate accessible-name.", and then #1 is true.

@dan-hw
Copy link
Contributor

dan-hw commented Jan 31, 2023

Would it be helpful to add failure techniques here too? It was good to see the "Enter the 3rd, 4th, and 6th character of your password" approach called out as a failure in the 'Intent' section of the latest working draft.

If it's helpful to formalise this sort of approach as a Failure Technique, I'd be happy to submit a PR for it

@shawnthompson
Copy link
Contributor

@mbgower, you commented in the survey:

Don't we want something about not preventing pasting into the password field?

Do you think we should we add information about preventing the pasting into the description section of this technique and then add it into the test results?

@mbgower
Copy link
Contributor Author

mbgower commented Jan 31, 2023

Do you think we should we add information about preventing the pasting into the description section of this technique and then add it into the test results?

Yes, i think that's worth trying. To me, it's part of allowing email/password to be sufficient.

@dan-hw
Copy link
Contributor

dan-hw commented Feb 1, 2023

Would it be helpful to add failure techniques here too? It was good to see the "Enter the 3rd, 4th, and 6th character of your password" approach called out as a failure in the 'Intent' section of the latest working draft.

If it's helpful to formalise this sort of approach as a Failure Technique, I'd be happy to submit a PR for it

I've submitted PR #2990 which adds a failure technique for this approach, with a few examples I've seen in the wild

@alastc
Copy link
Contributor

alastc commented Feb 1, 2023

New technique agreed to be added yesterday.

@shawnthompson
Copy link
Contributor

shawnthompson commented Feb 1, 2023

@alastc, should we not add something about allowing pasting in the description of the technique?

@mbgower
Copy link
Contributor Author

mbgower commented Feb 3, 2023

@alastc I have reopened as there has been a failure technique created that references this issue.
#2990

Once that is in a survey, this can be reclosed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment