w3c / matf

Guidance from the Mobile Accessibility Task Force (MATF)
https://w3c.github.io/matf/
Other
8 stars 3 forks source link

Success Criterion 2.4.4 - Link Purpose (In Context) - Level A #36

Open JJdeGroot opened 4 months ago

JJdeGroot commented 4 months ago

WCAG2ICT guidance: https://www.w3.org/TR/wcag2ict-22/#link-purpose-in-context

Share your thoughts for applying to mobile apps as a comment below.

Keanem6 commented 3 months ago

Might need to define programmatically determined link context in terms of native iOS and Android but apart from that i believe the requirements as written work for native.

jamieherrera commented 3 months ago

One thing I've always wondered with this SC in native apps is whether this should be limited to the term "link" as in hyperlink to a web page, or if it applies more broadly as any interaction that goes to another place. In other words, a button trait for navigating to another screen in an app - or a link to a web view in the app - could be interchangeably used in much of the 2.4.4 Understanding document.

The other question I've come across in practice is whether a button that looks like a hyperlink or vice versa would fail this SC.

JJdeGroot commented 3 months ago

Discussed in today's meeting.

Minutes for 28 August 2024 [Source](https://www.w3.org/2024/08/28-matf-minutes.html#t02) Jamie Look at the SC in normative text: Are we as a group deciding to just consider this as referencing only a link? Would the button scenarios be covered elsewhere? Links can also navigate around a page (skip links) It seems specific to links themselves, not their function Jamie There are times where things look like a link to do other things. There is some variation in how companies have interpreted this SC illai maybe we should consider removing it from small changes, because if we aren't sure about how it's conveyed to users could present confusion. We need to define what link means in mobile app context +1 Illai Change 2.4.4 label from small to medium or large? Comment below. +1 medium +1 medium +1 medium +1medium +1 medium JJ we need to make sure folks know that we can change the labels if we feel we need to ACTION: Change 2.4.4 label to medium ACTION: Create issue for Link definition in context of apps? julianmka Can we start hashing out a definition of links? illai: Related is headings and labels: How do we test this? It seems very opinionated? Can we define it in an atomic way? There seems to be space for interpretation julianmka The key definition is going to lie in the behaviour. Testability is going to be manual illai: Even manually, auditors may disagree Apple Developer on a link "'A control for navigating to a URL" https://developer.apple.com/documentation/swiftui/link On a button "A control that initiates an action." https://developer.apple.com/documentation/swiftui/button the links in the SC are modeling what is meant, see "ambiguous to users in general" do we need to define link now?
AlainVagner commented 2 months ago

A link will be announced by screen readers as a link, and not a button. A link is for me what is characterized as a link in the accessibility tree (i.e. like an ARIA role "link"). In an app, I usually see links be used to navigate to an URL, be it with a full fledged browser or an in-app browser.

If we do a parallel with rich web applications, you can navigate with some buttons inside the same page (open a modal, display different content with tabs, ...) but we are not using links for these in-page navigation elements. If we consider a broader definition of what constitutes a link, we may have lots of links without context, thus rendering this SC stricter for mobile apps. Or should we also update the definition of a link context?

JJdeGroot commented 1 week ago

TalkBack's link activation behavior will change in the 15.1 update: https://support.google.com/accessibility/android/answer/15621045?hl=en

With TalkBack 15.1, you can open links by double-tapping them, both inside and outside of web view content. You no longer need to use the TalkBack menu to open links.

JJdeGroot commented 6 days ago

Discussed in today’s meeting.

20 November 2024 [Source](https://www.w3.org/2024/11/20-matf-minutes.html#aa49) ~~~text 2.4.4 Link Purpose (In Context) Detlev In my exp links are expected to leave an app and open a browser. Is this the general expectation, and it's not made clear by WCAG2ICT We are perhaps delving into a general accessibility consideration here. Links versus buttons is an issue for all platforms. For mobile, perhaps it’s more about clarifying hybrid situations? If a business wants to throw away money developing links where buttons should be, that's really their perogative Does it help to make notion of 'internal link' vs 'external links'? Joe_Humbert I agree with Detlev - Google and Apple have muddied the water by allowing developers to make anything a link, and doing it themselves I think we can - Google and Apple need to be accessible too - just because they allow devs to be bad doesn't mean they have the right to Detlev Determinable context can be made more clear and while controls can be made better. Are there established ways of getting to the context in mobile apps? dotjay Differences between desktop/mobile - navigating by link is possible on mobile, so getting context is possible. We don't see the "f7" display all links on mobile. What does context mean in the sens of mobile and is it different from desktop? I think in TalkBack you can show all links I don't think "Link context" means being able to bring up a list of links an the view. Devlev: I meant to highlight situations where out of context versus in-context for mobile environments. “Show all links” is simply an example of that. So much of the time on mobile, we are navigating into context and can discover context as the virtual cursor is moving. So would that mean checking for link context would only apply to like that 1. stand lone 2. are no clear in itself? Joe_Humbert Google can allow to show all links. iOS does tell users there is a link. That's because that's how links are created. Because we can assign the role ad hoc, it's hard. A link in an attributed string can't take you somewhere in the app because it doesn't know the context of the app Jamie If it's about navigation, then in an app setting, buttons do this job. So perhaps the context is a little different +1 to Jamie about "Button" Purpose as a consideration +1 to Jamie Detlev in most audits cases, the links are looked at as part of the context Joe_Humbert there are limitations - in desktop the SR has a lot of flexibility. in iOS there is no in app link navigation rotor option Interesting – I’d not noticed before that Link roles aren’t reachable outside of web content. How weird. I'd need to find an app with links to check I managed to convince my former company that links in apps where bad for business... perhaps too well I believe that button purpose perhaps falls under 2.4.6 Headings and Labels as a button’s text label, and 1.1.1 for text alternative to an image button ACTION: Research link behavior on Android and iOS -> 1. Native link in text, 2. Native link on its own, 3. Web link in WebView ACTION: Research impact of broadening "link" to "links and buttons" or "interactive components" keep in mind this is about clarity of text, for navigation purposes. If we feel that 2.4.6 covers buttons then we can leave this as links only that was my problem QuintinB I would need to spin up my test app on my test Android device ACTION: Consider linking to 2.4.6 as best-practice s/ 2.4.6 2.4.9 Re 2.4.6 – For example, https://www.w3.org/WAI/WCAG22/Techniques/general/G131 “The objective of this technique is to ensure that the label for any interactive component within Web content makes the component's purpose clear.“ Jamie we need to be clear that we means specifcally links or buttons But I agree that it’s somewhat ambiguous and 2.4.6 does not specifically call out buttons +1 to Jamie on Android, you can use navigation link mod in a native app on Android, I just tested link mode* ~~~

ACTION: Research link behavior on Android and iOS -> 1. Native link in text, 2. Native link on its own, 3. Web link in WebView

ACTION: Research impact of broadening "link" to "links and buttons" or "interactive components"

ACTION: Consider linking to 2.4.6 as best-practice