Card

Array Card

Cards display related information for previews, while modals focus users on critical actions like confirmations. Together, they enhance clarity and streamline interactions.

AA

WCAG 2.1 accessibility compliant

Component Specs

1

1

1

Additional component / Image

2

2

2

Heading / 5XL

3

3

3

Badge

4

4

4

Description

5

5

5

Badge Array

6

6

6

Button Group / Secondary / Primary

React Native



<Card
  accessible={true}
  accessibilityRole="article"
  accessibilityLabel="Movie screening card for Halloween III"
  importantForAccessibility="yes"
>
  <CardHeader
    imageSource={require("../assets/halloween.png")}
    accessibilityLabel="Halloween III movie poster"
    accessibilityRole="image"
  >
    <View className="flex-row items-center justify-between">
      <CardTitle
        style={styles.InterSemiBold}
        accessibilityRole="heading"
        accessibilityLevel={2}
        nativeID="card-title"
      >
        Halloween III
      </CardTitle>
      <Badge
        variant="warning"
        accessibilityLabel="Screening status: Last screening"
        accessibilityRole="text"
      >
        <Text>Last screening</Text>
      </Badge>
    </View>
    <CardDescription
      style={styles.Inter}
      accessibilityRole="text"
      accessibilityLabel="Ticket price: 12 dollars"
      nativeID="card-description"
    >
      $12.00
    </CardDescription>
  </CardHeader>
  <CardContent>
    <View
      className="flex-row gap-1"
      accessibilityLabel="Available screening times"
      accessibilityRole="group"
      accessibilityHint="List of available screening times for Halloween III"
    >
      <Badge
        variant="default"
        accessibilityLabel="5:30 PM screening"
        accessibilityRole="button"
      >
        <Text className="text-xs text-sys-text-secondary">5:30PM</Text>
      </Badge>
      <Badge
        variant="default"
        accessibilityLabel="6:30 PM screening"
        accessibilityRole="button"
      >
        <Text className="text-xs text-sys-text-secondary">6:30PM</Text>
      </Badge>
      <Badge
        variant="default"
        accessibilityLabel="7:30 PM screening"
        accessibilityRole="button"
      >
        <Text className="text-xs text-sys-text-secondary">7:30PM</Text>
      </Badge>
      <Badge
        variant="default"
        accessibilityLabel="8:30 PM screening"
        accessibilityRole="button"
      >
        <Text className="text-xs text-sys-text-secondary">8:30PM</Text>
      </Badge>
    </View>
  </CardContent>
  <CardFooter className="flex-row justify-between mt-0">
    <View style={{ flex: 1, marginRight: 8 }}>
      <Button
        variant="default"
        textSize="md"
        className="w-full tracking-tighter"
        accessibilityRole="button"
        accessibilityLabel="Continue to ticket selection"
        accessibilityHint="Proceeds to select seats and purchase tickets for Halloween III"
        accessibilityState={{ disabled: false }}
      >
        Continue
      </Button>
    </View>
  </CardFooter>
</Card>;

WCAG 2.1 accessibility checks

1.3.1 Info and Relationships (Level A)

1.4.3 Contrast (Minimum) (Level AA)

2.4.6 Headings and Labels (Level AA)

4.1.2 Name, Role, Value (Level A)

4.1.3 Status Messages (Level AA)

Mobile App Starter Kit

·

©

2025

All rights reserved, Studio Hola.

Mobile App Starter Kit

·

©

2025

All rights reserved, Studio Hola.

Mobile App Starter Kit

·

©

2025

All rights reserved, Studio Hola.