VoiceOver/TalkBack items inside Carousel/Flatlist
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- react-native, typescript
- Domaine
- accessibility, mobile
Piste de recherche
Commencez par reproduire le comportement de VoiceOver/TalkBack décrit pour Carousel et FlatList, en utilisant l’exemple de l’issue comme point de départ. Suivez le comportement d’accessibilité pertinent de React Native et déterminez comment les éléments de Carousel ciblés doivent exposer leur contenu tout en préservant la navigation par incrémentation/décrémentation ; le travail est terminé lorsque chaque élément ciblé peut être lu et parcouru de manière accessible sur les deux plateformes.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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,
});
}}
/>
);
};
- Langage dominant
- TypeScript
- Étoiles
- 295
- Forks
- 22
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de FormidableLabs/react-native-ama
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
FormidableLabs/react-native-ama#322 · 3 réactions ·
-
bug
Difficulté 3/5 1-2 jours Accessibilité débutants 48/100
FormidableLabs/react-native-ama#319 · 4 commentaires · 1 réaction ·
-
Upgrade linting and add ts:check to automationPeut-être à nouveau libre @JDMathew l’a pris il y a 724 jours, et aucune pull request n’est ouverte. Ouverte
FormidableLabs/react-native-ama#277 · 1 personne assignée ·
-
useButtonChecks error with JestOuvertebug
Difficulté 3/5 1-2 jours Accessibilité débutants 38/100
-
Add useCarousel and Carousel to extra packagePeut-être à nouveau libre @JDMathew l’a pris il y a 770 jours, et aucune pull request n’est ouverte. Ouverte
FormidableLabs/react-native-ama#258 · 1 personne assignée ·
Toutes les issues de FormidableLabs/react-native-ama
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Graphify-Labs/graphify#4860 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
sveltejs/eslint-plugin-svelte#1615 ·
Les mainteneurs répondent en général sous 7 jours
-
Parallel reticle_verify opens per-flow leases without the source lease's ignoreHTTPSErrorsPeut-être pris @as992949791 l’a pris aujourd’hui. Ouvertegood first issue help wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
reticlehq/reticle#2033 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour