Card

Commerce

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

Button Group / Secondary / Primary

React Native



<Card
  accessible={true}
  accessibilityRole="article"
  accessibilityLabel="Product card for Jupiter Glasses"
  importantForAccessibility="yes"
>
  <CardHeader
    imageSource={require("../assets/grub.png")}
    accessibilityLabel="Jupiter Glasses product image"
    accessibilityRole="image"
  >
    <View className="flex-row items-center justify-between">
      <CardTitle
        style={styles.InterSemiBold}
        accessibilityRole="heading"
        accessibilityLevel={2}
        nativeID="product-title"
      >
        Jupiter Glasses
      </CardTitle>
      <Badge
        variant="warning"
        accessibilityLabel="Inventory status: Last pair"
        accessibilityRole="text"
      >
        <Text>Last pair</Text>
      </Badge>
    </View>
    <CardDescription
      style={styles.Inter}
      accessibilityRole="text"
      accessibilityLabel="Price: 100 dollars"
      nativeID="product-price"
    >
      $100.00
    </CardDescription>
  </CardHeader>
  <CardFooter className="flex-row justify-between mt-0">
    <View
      style={{ flex: 1, marginRight: 8 }}
      accessibilityElementsHidden={false}
    >
      <Button
        variant="secondary"
        textSize="md"
        className="w-full tracking-tighter"
        accessibilityRole="button"
        accessibilityLabel="Add to cart"
        accessibilityHint="Adds Jupiter Glasses to your shopping cart"
        accessibilityState={{ disabled: false }}
      >
        Add to cart
      </Button>
    </View>
    <View style={{ flex: 1 }} accessibilityElementsHidden={false}>
      <Button
        variant="default"
        textSize="md"
        className="w-full tracking-tighter"
        accessibilityRole="button"
        accessibilityLabel="Purchase now"
        accessibilityHint="Proceeds directly to checkout with Jupiter Glasses"
        accessibilityState={{ disabled: false }}
      >
        Purchase
      </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.