Skip to content

Commit

Permalink
Merge pull request #24 from infinum/adding-navigation
Browse files Browse the repository at this point in the history
Navigation and proposed changes
  • Loading branch information
itsJoKr authored Mar 30, 2023
2 parents b601958 + 860b4cc commit 8a6e63f
Show file tree
Hide file tree
Showing 20 changed files with 230 additions and 193 deletions.
7 changes: 4 additions & 3 deletions docs/features/features_android.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Android accessibility features overview
[← Accessibility features per mobile platform](features_mobile_platforms.md "Accessibility features per mobile platform")

# Accessibility features on Android

It is very important that the app you are developing is accessible to all users. Accessibility should be considered during the whole development process. If properly implemented, accessibility features and services can significantly improve your app's usability, especially for users with disabilities, but also in general.

Expand Down Expand Up @@ -109,5 +111,4 @@ There are three different types of switches:
A detailed description of all Switch Access configurations can be found on the official [Android Accessibility Help - Switch Access page](https://support.google.com/accessibility/android/answer/6122836?hl=en&ref_topic=6151780).




[← Accessibility features per mobile platform](features_mobile_platforms.md "Accessibility features per mobile platform")
2 changes: 2 additions & 0 deletions docs/features/features_flutter.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
[← Accessibility features per mobile platform](features_mobile_platforms.md "Accessibility features per mobile platform")

# Accessibility features in Flutter

## Determining accessibility
Expand Down
2 changes: 2 additions & 0 deletions docs/features/features_ios.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
[← Accessibility features per mobile platform](features_mobile_platforms.md "Accessibility features per mobile platform")

# Accessibility features on iOS

## The fundamentals
Expand Down
2 changes: 1 addition & 1 deletion docs/features/features_mobile_platforms.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Mobile standards provide information about accessibility features and implementation for the following platforms:

* Android
* [Android](features_android.md "Accessibility features for Android")
* [iOS](features_ios.md "Accessibility features on iOS")
* [Flutter](features_flutter.md "Accessibility features in Flutter")

Expand Down
59 changes: 22 additions & 37 deletions docs/guidelines/platforms/android/guideline_operable_android.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
[🔼 Accessibility principles and examples](../../principles/accessibility_principles_and_examples.md "Accessibility principles and examples") | [⬅️ Operable principle](../../principles/operable_principle.md "Operable principle")
# Operable guidelines for Android

_User interface components and navigation must be operable._
User interface components and navigation must be operable.

## Keyboard accessible

_Make all functionality available from a keyboard._
Make all functionality available from a keyboard.

*This guideline covers point 2.1.1 Keyboard - Level A of the WCAG standard.*

:white_check_mark: **Success criteria**

Expand Down Expand Up @@ -69,15 +72,13 @@ When the user is navigating through the app **using the arrow keys on the keyboa

- Not defining custom order if the views in the layout file are not defined in the same order they should be presented to the user.

#### Additional notes

This guideline covers point 2.1.1 Keyboard – Level A of the WCAG standard.

---

## Enough time

_Provide users enough time to read and use the content._
Provide users enough time to read and use the content.

*This guideline covers point 2.2.1 Timing Adjustable - Level A of the WCAG standard.*

:white_check_mark: **Success criteria**

Expand All @@ -93,16 +94,14 @@ All users should be able to interact with the content displayed on the screen, e

- Define time-limited actions in the app with no ability to extend that limit.

#### Additional notes

This guideline covers point 2.2.1 Timing Adjustable – Level A of the WCAG standard.

---

### Pause, Stop, Hide

Moving, blinking, or scrolling, or auto-updating content in the app.

*This guideline covers point 2.2.2 Pause, Stop Hide - Level A of the WCAG standard.*

#### ✅ Success technique(s)

- When auto-scrolling page views, whose animation starts automatically, make sure to provide a way for the user to pause, stop, or hide it.
Expand All @@ -115,20 +114,18 @@ Moving, blinking, or scrolling, or auto-updating content in the app.

- Using an auto-updating or auto-scrolling view that can't be paused/stopped.

#### Additional notes

This guideline covers point 2.2.2 Pause, Stop Hide – Level A of the WCAG standard.

---

## Seizures and Physical Reactions

_Do not design content in a way that is known to cause seizures or physical reactions._
Do not design content in a way that is known to cause seizures or physical reactions.

### Three Flashed or Below Threshold

Apps should not contain elements that flash more than three times in one second.

*This guideline covers point 2.3.1 - Level A of the WCAG standard.*

#### ✅ Success technique(s)

- Avoiding flashing content in general, if possible.
Expand All @@ -143,18 +140,16 @@ Apps should not contain elements that flash more than three times in one second.

- Having a larger area of screen flashing more than three times per second.

#### Additional notes

This guideline covers point 2.3.1 – Level A of the WCAG standard.

---

## Navigable

_Provide ways to help users navigate, find content, and determine where they are._
Provide ways to help users navigate, find content, and determine where they are.

### Bypass Blocks

*This guideline covers points 2.4.1 Bypass Blocks - Level A of the WCAG standard.*

:white_check_mark: **Success criteria**

The app should be implemented so that it is possible to relatively easily skip the content that is repeated on the screen or the content that is irrelevant to the user.
Expand Down Expand Up @@ -209,14 +204,12 @@ ViewCompat.setAccessibilityDelegate(personalData, object : AccessibilityDelegate

- The user of accessibility services has to navigate through all the items displayed on the screen with no possibility to fasten the navigation process.

#### Additional notes

This guideline covers points 2.4.1 Bypass Blocks – Level A of the WCAG standard.

---

### Page Titles

*This guideline covers point 2.4.2 Page Titled - Level A of the WCAG standard.*

:white_check_mark: **Success criteria**

Each screen should have a clear, descriptive, and, if possible, unique title that describes the purpose of that screen that will be understandable to all users. Also, it is important to make sure that the title is the first element read when the user enters the screen. This could be achieved by following design guidelines or with the help of setting the `android:accessibilityTraversalBefore` attribute.
Expand All @@ -229,14 +222,12 @@ If the title is defined using a toolbar with custom behavior or another custom v

- Defined titles are not the first elements that are read when the user enters the screen and therefore users using accessibility services have no information about which screen they opened.

#### Additional notes

This guideline covers point 2.4.2 Page Titled – Level A of the WCAG standard.

---

### Focus Order

*This guideline covers point 2.4.3 Focus Order - Level A of the WCAG standard.*

:white_check_mark: **Success criteria**

Order of the components that are displayed on the screen should have a logical traversal order. This is very important for people using accessibility services (such as TalkBack) to get a clearer picture of the content and possible actions on the current screen that is navigated through.
Expand All @@ -247,14 +238,12 @@ Defining the content of the screen in the meaningful sequence described in the [

- Views displayed on the screen break consistency of the navigation.

#### Additional notes

This guideline covers point 2.4.3 Focus Order – Level A of the WCAG standard.

---

### Link Purpose

*This guideline covers point 2.4.4 Link Purpose (In Context) - Level A of the WCAG standard.*

:white_check_mark: **Success criteria**

All the links displayed in the application's components and screens should explain its unique purpose. This is important because, based on the provided descriptions, users would get a better idea of whether they want to follow the provided link.
Expand Down Expand Up @@ -291,10 +280,6 @@ The example given in the **Screenshot 4.** - **Avoid using ClickableSpan** and i

- The link is part of the longer text and implemented using ClickableSpan, so TalkBack users are not aware of the link’s existence.

#### Additional notes

This guideline covers point 2.4.4 Link Purpose (In Context) – Level A of the WCAG standard.

---

#### Sources
Expand Down
39 changes: 16 additions & 23 deletions docs/guidelines/platforms/android/guideline_percievable_android.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
[🔼 Accessibility principles and examples](../../principles/accessibility_principles_and_examples.md "Accessibility principles and examples") | [⬅️ Perceivable principle](../../principles/perceivable_principle.md "Perceivable principle")
# Perceivable guidelines for Android

All content displayed on the screen at some point must be presented to the user in a perceivable manner.

## Text alternatives

_Provide text alternatives for any non-text content so that it can be changed into other forms people need, such as large print, braille, speech, symbols or simpler language._
Provide text alternatives for any non-text content so that it can be changed into other forms people need, such as large print, braille, speech, symbols or simpler language.

*This guideline covers point 1.1.1 Non-text Content - Level A of the WCAG standard.*

:white_check_mark: **Success criteria**

Expand All @@ -18,15 +21,13 @@ If an element exists on the UI only for decorative purposes it is recommended th

- Not providing descriptions of elements presented on the screen that do not exist only for decorative purposes

#### Additional notes

This guideline covers point 1.1.1 Non-text Content – Level A of the WCAG standard.

---

## Time-based Media

_Provide alternatives for time-based media._
Provide alternatives for time-based media.

*This guideline covers point 1.2 Time-Based Media - Level A of the WCAG standard.*

:white_check_mark: **Success criteria**

Expand All @@ -40,18 +41,18 @@ Suppose the app you are building includes media content such as video clips or a

- All media is presented to the user without the possibility of changing some of the controls (slow down, pause, volume up, etc.).

#### Additional notes

This guideline covers point 1.2 Time-Based Media – Level A of the WCAG standard.

---

## Adaptable

_Create content that can be presented in different ways without losing information or structure._
Create content that can be presented in different ways without losing information or structure.

### Info and Relationships

Information, structure, and relationships conveyed through presentation are available in text.

*This guideline covers point 1.3.1 Info and Relationships - Level A of the WCAG standard.*

:white_check_mark: **Success criteria**

- Groups of related content
Expand Down Expand Up @@ -145,14 +146,12 @@ That way, users of accessibility services can choose to navigate between heading

- It is not clear which parts of the screen are contextually connected.

#### Additional notes

This guideline covers point 1.3.1 Info and Relationships - Level A of the WCAG standard.

---

### Meaningful sequence

*This guideline covers point 1.3.2 Meaningful sequence - Level A of the WCAG standard.*

:white_check_mark: **Success criteria**

If the order of the content displayed on the screen is crucial for understanding, it is very important to make sure it will be presented in the same order when using accessibility services. That way, users of accessibility services (such as TalkBack) can get a clearer picture of the content and possible actions on the current screen that is being navigated through.
Expand Down Expand Up @@ -193,14 +192,12 @@ ViewCompat.setAccessibilityDelegate(button1, object : AccessibilityDelegateCompa

- Views displayed on the screen break consistency of the navigation.

#### Additional notes

This guideline covers point 1.3.2 Meaningful sequence – Level A of the WCAG standard.

---

### Sensory characteristics

*This guideline covers point 1.3.3 Sensory characteristics - Level A of the WCAG standard.*

:white_check_mark: **Success criteria**

The content provided in your app must be easily understandable to all users. That is why it is recommended to use cues or symbols rather than colors to distinguish different views and different actions that those views provide. That way, users with color vision deficiencies could also easily understand the whole UI.
Expand All @@ -209,10 +206,6 @@ The content provided in your app must be easily understandable to all users. Tha

- An important difference between elements is stressed only with colors.

#### Additional notes

This guideline covers point 1.3.3 Sensory characteristics – Level A of the WCAG standard.

---

#### Sources
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
[🔼 Accessibility principles and examples](../../principles/accessibility_principles_and_examples.md "Accessibility principles and examples") | [⬅️ Robust principle](../../principles/robust_principle.md "Robust principle")

# Robust guidelines for Android

Content must be robust enough that it can be interpreted by a wide variety of mobile devices, including those which use accessibility features.

## Compatible

_Maximize compatibility with current and future devices, taking into account the accessibility features that they might be using._
Maximize compatibility with current and future devices, taking into account the accessibility features that they might be using.

### Parsing

Expand Down
Loading

0 comments on commit 8a6e63f

Please sign in to comment.