Please document correct usage of accessibilityRole "link"
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Dokumentation
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- react-native
- Bereich
- accessibility, documentation
Rechercherichtung
Beginne mit der im Issue verlinkten Dokumentation zu accessibilityRole und vergleiche anschließend die darin zitierten Hinweise zu React Navigation, react-native-accessibility-engine und iOS. Kläre das beabsichtigte Plattformverhalten mit den Projektbetreuern, bevor du die Rollenbeschreibung änderst; abgeschlossen ist die Aufgabe, wenn die Dokumentation eine eindeutige Nutzungsregel enthält.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Description
Here's the current documentation for accessibilityRole="link":
link Used when the element should be treated as a link.
This... could be more helpful. It's arguably a tautology: it says the link role should be used in those cases where the link role should be used.
There are many examples (some given below) of inconsistent and sometimes contradictory ways this has been interpreted.
What is the problem?
This is a problem because people fill in their own common-sense opinion on how link roles should be used (possibly influenced by non-equivalent experience of links on websites).
For example, I've encountered three different interpretations on how the link role should be used, all from seemingly authoritative sources:
- Navigation between screens: The widely used react-navigation project has utilities like
useLinkPropsthat applyaccessiblityRole="link"to any element that navigates between screens - every element using these utilities that would do internal routing in a web context will get the "link" role in Android and iOS. - All interactive inline text: The react-native-accessibility-engine project has a test "link-role-required" that requires any
Textelement with anonPresshandler to have the role "link", regardless of what the press does. This appears to be interpreting "link" by presentation (interactive inline text) rather than the nature of the action. - Opening URLs in device browser: App accessibility consultants I've worked with in the past have advised that "link" should be used specifically for interactive elements that cause the app open and focus a web browser, and that "button" should be used for in-app navigation (regardless of element type). Here's an example of an accessibility consultancy giving this advice in the context of iOS:
Links open a URL in an external browser. This the important distinction between buttons. Only apply the trait of link when the users interaction with the control will take them out of your application and into Safari.
How can we address it?
There is one right answer as to how React Native's link accessibilityRole is intended to be used, based on the appropriate iOS and Android guidance for the underlying properties and traits that React Native applies internally to the native Android and iOS elements it controls.
The React Native accessibility docs should state it clearly. For example (assuming this one is correct):
link Interactive elements that load a web page in a device browser, switching focus away from this app
Why is it important?
There's clearly already diverging interpretations of how this role should be used, and it's a very commonly used role, so there is almost certainly already a lot of inconsistency on when elements are described as a "Link" in React Native apps in production.
Who needs this?
Ideally all React Native developers should be applying this accessibilityRole consistently and correctly.
When should this happen (use version numbers if needed)?
As soon as there's a clear consensus on what the correct usage is.
- Vorherrschende Sprache
- MDX
- Sterne
- 2.2k
- Forks
- 6.4k
- Ø Merge
- 13 Std. 55 Min.
- Gemergte PRs (30 T.)
- 25
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus react/react-native-website
-
Documentation for 'priority' in announceForAccessibilityWithOptions missingEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
react/react-native-website#5258 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Docs: distinguish Fast Refresh effect reruns from Strict Mode checksEvtl. vergeben @walitemuri hat das vor 27 Tagen übernommen. Offen
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 88/100
react/react-native-website#5217 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Integration with Existing Apps: Podfile example does not use `use_react_native!`, is incompleteEvtl. vergeben @mhjacobson hat das vor 1704 Tagen übernommen. Offen👋 Good first issue
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 78/100
react/react-native-website#2958 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 30/100
react/react-native-website#5259 · 1 Reaktion ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 48/100
react/react-native-website#5216 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in react/react-native-website
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
AvaloniaUI/Avalonia#22420 ·
Maintainer antworten meist innerhalb von 1 Tag
-
accessibility good first issue ux
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
danielgraviet/concrete#63 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Recurrence fields of the event form have no accessible name: the "Until" date is announced as "EEEE, MMMM DD, YYYY"Evtl. vergeben @chibenwa hat das heute übernommen. Offenai-driven-qa bug claude
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
linagora/twake-calendar-frontend#1574 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
area:docs good first issue
Schwierigkeit 2/5 Ein halber Tag Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag
-
[Desktop] clarify card: Tab lands on Skip instead of the primary 'Confirm and continue' actionOffencomp/desktop P3 type/bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
NousResearch/hermes-agent#135691 ·
Maintainer antworten meist innerhalb von 1 Tag