Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Global] Links open a new window without warning #49

Open
svinkle opened this issue May 27, 2020 · 0 comments
Open

[Global] Links open a new window without warning #49

svinkle opened this issue May 27, 2020 · 0 comments

Comments

@svinkle
Copy link
Member

svinkle commented May 27, 2020

Issue summary

Links which request and external resource open a new window/tab/app without warning the user. This could confuse visually impaired users who believe they are following a link in the same browser/app window which causes extra effort to switch back to the previous window/app.

Screenshots Screen Shot 2020-05-27 at 8 27 53 AM Screen Shot 2020-05-27 at 8 28 17 AM Screen Shot 2020-05-27 at 8 28 38 AM Screen Shot 2020-05-27 at 8 30 42 AM

Current code

TSX

// InfoShareView.tsx

const InfoShareItem = ({onPress, text, icon}: InfoShareItemProps) => (

// …

<TouchableOpacity onPress={onPress}>
  // …
</TouchableOpacity>

// …

<InfoShareItem onPress={onSymptomps} text={i18n.translate('Info.CheckSymptoms')} icon="icon-external-arrow" />

Steps to reproduce

  1. Load the app into the iOS simulator
  2. Expand the Sheet content
  3. Enable VoiceOver screen reader on macOS
  4. Use the Virtual Cursor to navigate through the Sheet controls

Behavior

Expected

  • Links which open a new window/app will be accompanied by a visible and audible warning.

Actual

  • Links open a new window without any warning.

Recommendation

For each link in the app which opens an external resource:

  1. Add the accessibilityLabel prop, setting its value to the control {text} (This is required for accessibilityHint)
  2. Add the accessibilityHint prop, setting its value to a string which warns the user audibly
  3. If no icon is present, include a "new window" icon to convey the warning visually

Recommended code

TSX

// InfoShareView.tsx

const InfoShareItem = ({onPress, text, icon, role, hint}: InfoShareItemProps) => (

// …

<TouchableOpacity onPress={onPress} accessibilityLabel={text} accessibilityHint={hint} accessibilityRole={role}>
  // …
</TouchableOpacity>

// …

<InfoShareItem onPress={onSymptomps} text={i18n.translate('Info.CheckSymptoms')} icon="icon-external-arrow" role="link" hint="opens in a new window" />

Specifications

  • Component: CovidShield [Global]
  • WCAG Principle: Understandable
  • WCAG SC: 3.2.2 On Input
  • Severity: High
  • Effort: High
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant