VoiceOver/TalkBack items inside Carousel/Flatlist
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- react-native, typescript
- Bereich
- accessibility, mobile
Rechercherichtung
Beginne damit, das für Carousel und FlatList beschriebene VoiceOver/TalkBack-Verhalten anhand des Beispiels im Issue zu reproduzieren. Verfolge das relevante React Native-Barrierefreiheitsverhalten und ermittle, wie fokussierte Carousel-Elemente ihren Inhalt offenlegen sollten, während die Inkrement-/Dekrementnavigation erhalten bleibt; als erledigt gilt die Aufgabe, wenn jedes fokussierte Element auf beiden Plattformen barrierefrei gelesen und navigiert werden kann.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Is there an existing issue for this?
- I have searched the existing issues
Code of Conduct
- I agree to follow this project's Code of Conduct
Question
Hello, love your project! Although I can't find the way to VoiceOver items inside the Carousel. It captures the entire carousel and says that user has to swipe up or down to navigate through the carousel but in my opinion it would be nice to read the content of the focused item. Something like this:
import { Carousel } from '@react-native-ama/extras';
import { Text } from '@react-native-ama/react-native';
import { View } from 'react-native';
const Component = () => {
const data = [
{ header: 'Title 1', text: 'Text 1' },
{ header: 'Title 2', text: 'Text 2' },
{ header: 'Title 3', text: 'Text 3' },
];
const flatListRef = React.useRef<FlatList<(typeof data)[number]>>(null);
const renderItem: ListRenderItem<(typeof data)[number]> = ({ item }) => {
return (
<View>
<Text accessibilityRole="header">item.header<Text />
<Text accessibilityRole="summary">item.text<Text />
<View />
);
};
return (
<FlatList
ref={flatListRef}
data={data}
renderItem={renderItem}
accessible={true}
accessibilityLabel="Carousel"
accessibilityRole="adjustable"
accessibilityActions={[{ name: 'increment' }, { name: 'decrement' }]}
onAccessibilityAction={(event: AccessibilityActionEvent) => {
const value = event.nativeEvent.actionName === 'increment' ? 1 : -1;
const newIndex = carouselIndexForScreenReader.current + value;
carouselIndexForScreenReader.current = clamp(newIndex, 0, data.length - 1);
flatListRef.current?.scrollToIndex({
index: carouselIndexForScreenReader.current,
});
}}
/>
);
};
- Vorherrschende Sprache
- TypeScript
- Sterne
- 295
- Forks
- 22
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine 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 FormidableLabs/react-native-ama
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
FormidableLabs/react-native-ama#322 · 3 Reaktionen ·
-
bug
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 48/100
FormidableLabs/react-native-ama#319 · 4 Kommentare · 1 Reaktion ·
-
Upgrade linting and add ts:check to automationEvtl. wieder frei @JDMathew hat das vor 728 Tagen übernommen, und es ist kein Pull Request offen. Offen
FormidableLabs/react-native-ama#277 · 1 zugewiesene Person ·
-
bug
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 38/100
-
Add useCarousel and Carousel to extra packageEvtl. wieder frei @JDMathew hat das vor 774 Tagen übernommen, und es ist kein Pull Request offen. Offen
FormidableLabs/react-native-ama#258 · 1 zugewiesene Person ·
Alle Issues in FormidableLabs/react-native-ama
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
oxidecomputer/skepsis#102 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
voidzero-dev/void#677 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
kunchenguid/gh-axi#247 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
lidge-jun/opencodex#8101 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag