Navigation

Button

Buttons drive user interactions: primary buttons highlight key actions, while secondary buttons offer alternatives.

AA

WCAG 2.1 accessibility compliant

Primary

Label

Label

Label

Primary / Pressed

Label

Label

Label

Secondary

Label

Label

Label

Secondary / Pressed

Label

Label

Label

Black

Label

Label

Label

Black / Pressed

Label

Label

Label

Text

Label

Label

Label

Text / Pressed

Label

Label

Label

Social

Sign in with Google

Sign in with Facebook

Sign in with Microsoft

Social / Pressed

Sign in with Google

Sign in with Facebook

Sign in with Microsoft

React Native



<View className='items-center justify-center flex-1 gap-5 p-6'>
  <Button 
    variant='default' 
    textSize='md'
    accessibilityRole='button'
    accessibilityLabel='Default button'
    accessibilityHint='Activates the default action'
    accessibilityState={{ 
      disabled: false,
      busy: false
    }}
  >
    Default
  </Button>
  
  <Button 
    variant='secondary' 
    textSize='md'
    accessibilityRole='button'
    accessibilityLabel='Secondary button'
    accessibilityHint='Activates the secondary action'
    accessibilityState={{ 
      disabled: false,
      busy: false
    }}
  >
    Secondary
  </Button>
  
  <Button 
    variant='black' 
    textSize='md'
    accessibilityRole='button'
    accessibilityLabel='Black button'
    accessibilityHint='Activates the primary action'
    accessibilityState={{ 
      disabled: false,
      busy: false
    }}
  >
    Black
  </Button>
  
  <Button 
    variant='link' 
    textSize='md'
    accessibilityRole='link'
    accessibilityLabel='Text link'
    accessibilityHint='Navigates to related content'
    accessibilityState={{ 
      disabled: false,
      busy: false
    }}
  >
    Text Link
  </Button>

  {/* Social Login Buttons */}
  <View 
    className='w-full'
    accessibilityRole='group'
    accessibilityLabel='Social login options'
  >
    <Button 
      variant='secondary' 
      textSize='md' 
      className='w-full mb-4' 
      icon={
        <GoogleIcon 
          accessibilityRole='image'
          accessibilityLabel='Google logo'
          importantForAccessibility='no'
        />
      }
      accessibilityRole='button'
      accessibilityLabel='Sign in with Google'
      accessibilityHint='Authenticates using your Google account'
      accessibilityState={{ 
        disabled: false,
        busy: false
      }}
    >
      Sign in with Google
    </Button>

    <Button
      variant='secondary'
      textSize='md'
      className='w-full mb-4'
      icon={
        <FacebookIcon 
          accessibilityRole='image'
          accessibilityLabel='Facebook logo'
          importantForAccessibility='no'
        />
      }
      accessibilityRole='button'
      accessibilityLabel='Sign in with Facebook'
      accessibilityHint='Authenticates using your Facebook account'
      accessibilityState={{ 
        disabled: false,
        busy: false
      }}
    >
      Sign in with Facebook
    </Button>

    <Button 
      variant='secondary' 
      textSize='md' 
      className='w-full' 
      icon={
        <MicrosoftIcon 
          accessibilityRole='image'
          accessibilityLabel='Microsoft logo'
          importantForAccessibility='no'
        />
      }
      accessibilityRole='button'
      accessibilityLabel='Sign in with Microsoft'
      accessibilityHint='Authenticates using your Microsoft account'
      accessibilityState={{ 
        disabled: false,
        busy: false
      }}
    >
      Sign in with Microsoft
    </Button>
  </View>
</View>

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.