Skip to content

Commit

Permalink
pravki
Browse files Browse the repository at this point in the history
  • Loading branch information
crescentheaded committed Mar 31, 2024
1 parent 309c634 commit af57630
Show file tree
Hide file tree
Showing 47 changed files with 76 additions and 99 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Accessibility of Mobile Applications

An introduction to working with Accessibility API
Start working with **Accessibility API**

@Metadata {
@PageColor(blue)
Expand All @@ -19,61 +19,64 @@ An introduction to working with Accessibility API
label: "General Knowledge")
}

## First things first: why support accessibility
## First Things First: Why Support Accessibility

Perceive it as a *disclaimer* of some kind.
@Image(source: "placeholder", alt: "")

### The clientele exists and is visible
### The Clientele Exists and Is Visible
To not rely on **common sense** solely, usage *statistics*, social *surveys* and other *market analyses* definitely show that **there are people in need of assistive technology support**.
@Image(source: "fifty-percent", alt: "")

### Accessibility is not yet widely considered
### Accessibility Is Not Yet Widely Considered
Despite the fact, it is still *globally uncommon* to have accessibility **considered**. The professional field is in shortage of *competent* specialists; organisations lack the **realisation** of how important it is to provide **equal access** to their products.
@Image(source: "placeholder", alt: "")

Moreover, accessibility is essentially an engine of **people with disabilities inclusion**. Therefore there are common misconceptions and discrimination. Having a disability is still **stigmatised** - the less *open-minded* society is the heavier it is.
Moreover, accessibility is essentially an engine of **people with disabilities inclusion**. Just as with any other **exclusion**, there are common **misconceptions** and **discrimination**. Having a disability is still **stigmatised** - the less *open-minded* society is the heavier it is.
@Image(source: "placeholder", alt: "")


### Accessible development is perceived differenly
So the answer to "Why support accessibility?" question is different for every person working *around* accessibility. Some people believe that [**accessible design**](<doc:AccessibleDesign>) is an *immanent* part of **universal design**. Other chase the **auditory expansion**. A few countries oblige organisation to make accessible products by **civil rights** law and their developers are dodging the lawsuits.
### Compliance and Conformance
The answer to "Why support accessibility?" question is different for every person working *around* accessibility. Some people believe that [**accessible design**](<doc:AccessibleDesign>) is an *immanent* part of **universal design** and conforming to accessibility makes the product better for everyone. Other chase the **auditory expansion** by PR stunts to attract good will. A few countries oblige organisations to make accessible products by **civil rights law** and such developers are **dodging lawsuits** by complying to the standards.
@Image(source: "placeholder", alt: "")

The more the production is influenced by *external* pressure the less accessible the result will be. Conforming to **extrinsic standards** has *nothing* in common with providing accessible experience: only **empathy** empowers people to consider others. It is impossible to support accessibility properly without a *clear* realisation of the situation and *genuine* motivation to change it.
### Real Accessibility Is Intentional
The more the production is influenced by *external* pressure the less accessible the result will be. Complying to **extrinsic standards** has *nothing* in common with providing accessible experience: only **empathy** allows people to consider others. It is impossible to support accessibility properly without a *clear* realisation of the situation and *genuine* motivation to change it.
@Image(source: "placeholder", alt: "")

### Choice is individual
Therefore only the person themself decides *why* they want to enable more people to use the product whose development is under their influence.
### Choice Is Yours
Only the person themself decides *why* they want to enable more people to use the product whose development is under their influence.

### Accessibility is a privilege
It is a difficult journey for anyone regardless of their specialty and position, and [**iOS Accessibility Handbook**](https://vodgroup.github.io/AccessibilityDocumentation/documentation/iosaccessibilityhandbook) project has no goal to *propagate* any values. We just support accessibility **the way it should be done** and share the experience.
### Accessibility Is a Privilege
It is a difficult journey for anyone to integrate accessibility into the project under their influence, regardless of their specialty and position. [**iOS Accessibility Handbook**](https://vodgroup.github.io/AccessibilityDocumentation/documentation/iosaccessibilityhandbook) project has no goal to *propagate* any values. We just support accessibility **the way it should be done** and share that experience.
@Image(source: "placeholder", alt: "")

**So if you are here it means that you *too* have a reason to do the right thing.**

## Accessibility API

### Accessibility is one of Apple's core values
### Accessibility Is One of Apple's Core Values

@Image(source: "placeholder", alt: "")

Thanks to Apple's decision to protect diversity and invest to accessibility, it is not a unworkable ordeal to create accessible software for iOS.
Thanks to Apple's decision to protect **diversity** and invest to **accessibility**, it is not a unworkable ordeal to create **accessible software** for iOS.

@Image(source: "placeholder", alt: "")

Talking about iOS the system supports an impressive [**range of assistive technology**](<doc:AccessibilityFeatures>) and provides highly comprehensible **documentation**, including [**WWDC sessions**](https://developer.apple.com/wwdc23/topics/accessibility-inclusion/), [**API reference**](https://developer.apple.com/accessibility/) and [**promotional materials**](https://www.apple.com/accessibility/).

@Image(source: "placeholder", alt: "")
### Accessibility Features
The system supports an impressive [**range of assistive technology**](<doc:AccessibilityFeatures>) and provides highly comprehensible **documentation**, including [**WWDC sessions**](https://developer.apple.com/wwdc23/topics/accessibility-inclusion/), [**API reference**](https://developer.apple.com/accessibility/) and [**promotional materials**](https://www.apple.com/accessibility/).

@Image(source: "placeholder", alt: "")

The job ahead itself may be narrowed to **understanding the accessible functional** and knowing how to make it work within an application. To start with, as a part of **code**.
### Accessibility Integration
The task of adopting accessibility may be narrowed to **understanding the accessible functional** and knowing how to make it work within applications. To start with, as a part of **code**.

### Program adaption
### Program Adaption

@Image(source: "placeholder", alt: "")

Constructing an interface out of **default elements** majorly covers the functionality of [**Accessible Features**](<doc:AccessibilityFeatures>), though the **experience** of automatically generated interface will not be as... *delightful* as the one touched by a human. **There is no real accessibility if not intended**.
Constructing an interface out of **default elements** majorly covers the functionality of [**Accessible Features**](<doc:AccessibilityFeatures>), though the **experience** of automatically generated interface will not be as... *delightful* as the one **touched by a human**. Again, **there is no real accessibility if not intended**.

@Image(source: "placeholder", alt: "")

Expand All @@ -95,7 +98,7 @@ In the book we are going to study [**iOS Accessibility**](<doc:iOSAccessibility>

@Image(source: "placeholder", alt: "")

Once the foundation is set there is [**design**](<doc:AccessibleDesign>). *No* accessibility implemented for an application will last (or do good at all) without proper **changes in the organisational work**. So if you are already **familiar** with the concepts behind assistive technology and its support, hover over to the [**Enterprise**](<doc:Processes>) volume of the book and see how to implement your knowledge on a bigger scale.
Once the foundation, which is required **skills** and **tools**, is set there is [**design**](<doc:AccessibleDesign>). *No* accessibility implemented for an application will last (or do good at all) without proper **changes in the organisational work**. So if you are already **familiar** with the concepts behind assistive technology and its support, hover over to the [**Enterprise**](<doc:Processes>) volume of the book and see how to *apply* your knowledge on a **bigger scale**.

@Links(visualStyle: compactGrid) {
- <doc:AccessibleDesign>
Expand All @@ -111,15 +114,15 @@ Ok, enough talking. We are ready to get some **work** done.
### iOS Accessibility Handbook
The book's guidelines are structured *that* way so there is some **entry-level tasks to enable equal access** and vast resources on **polishing accessible experience**.

@Image(source: "placeholder", alt: "")
@Image(source: book-content, alt: "")

### Course plan
### Course Plan
To see the *whole* curriculum visit the [**Table of Contents**](<doc:AdaptionStrategy>).

@Image(source: roadmap, alt: "")

### Tutorials
To start right with **practicing** something new, go to [**Based**](<doc:BasicTechniques>) or [**Advanced**](<doc:AdvancedTechniques>) level overview according to what you want to learn.
To start right with **practicing** something new, go to [**Based**](<doc:BasicTechniques>) or [**Advanced**](<doc:AdvancedTechniques>) level heading pages according to what you want to learn.

@Links(visualStyle: detailedGrid) {
- <doc:BasicTechniques>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,50 +1,50 @@
@Tutorials(name: "AdaptionStrategy") {
@Intro(title: "iOS Applications Accessibility Adaption Guide") {
Here is the **roadmap** of what one can do to make their app *accessible*.
Here is the **roadmap** of what one can do to make their application *accessible*.

### Essentiality
The *level of importance* — whether an enhancement is **basic** or **advanced** — decided by its requirement for assistive technologies to *simply* function. To make the accessible experience more *delightful* some **additional tinkering** has to be done.
The *level of importance* — whether an accessibility adoption is **basic** or **advanced** — decided by its requirement for assistive technologies to *simply* function. To make the accessible experience more *delightful* some **additional tinkering** has to be done.

### Familiarity
If you are not familiar with the topic, see the **introductory pages**.
If you are not familiar with the **related terminology**, see the **introductory pages**.

@Links(visualStyle: detailedGrid) {
- <doc:AccessibilityFeatures>
- <doc:AdaptionStrategy>
}

Otherwise you may start straight from the first guide or a tutorial of your particular interest — the separated materials are *self-sufficient* and their cohesion is decorative.
Otherwise you may start straight from the first guide or a tutorial of your particular interest — the separated materials are *self-sufficient*.
}

@Volume(name: "Making Accessibility Work") {
@Volume(name: "Adopting Accessibility") {

Here are the guides about implementing *essential* for assistive technology to function features.
Here are the guides about **adopting features** *essential* for assistive technology to function.

@Image(source: placeholder-image.png, alt: "")

@Chapter(name: "Expose Application's Data") {
@Image(source: chapter-placeholder.png, alt: "")

Provide a detailed description to everything so assistive technologies know how to deal with them.
Provide a detailed description to everything in the interface so assistive technologies know how to deal with it.

@TutorialReference(tutorial: "doc:AccessibilityAttributes")
@TutorialReference(tutorial: "doc:Traits")
@TutorialReference(tutorial: "doc:Frame")
@TutorialReference(tutorial: "doc:AdaptCells")
}

@Chapter(name: "Simplify User Scenarios") {
@Chapter(name: "Adapt User Scenarios") {
@Image(source: chapter-placeholder.png, alt: "")

Re-structure complex collections that way so it is easier to navigate between them.
Think over the goals users have to be able to achieve using your app to enable them to do it.

@TutorialReference(tutorial: "doc:ControlHierarchy")
}

@Chapter(name: "Make Navigation Possible") {
@Image(source: chapter-placeholder.png, alt: "")

Adapt navigation within a screen for Accessibility Features and see how navigation between screens can be implemented.
Integrate **alternative controlling** to enable people use the app however they are *able* or *willing* to.

@TutorialReference(tutorial: "doc:OnScreen-Navigation")
@TutorialReference(tutorial: "doc:Containers")
Expand All @@ -55,60 +55,61 @@

@Volume(name: "Polishing Accessible Experience") {

The tutorials here are dedicated to making the *experience* of Accessibility Features users more **comfortable** and **immersive**.
The next tutorials are dedicated to making the *experience* of [**Accessibility Features**](<doc:AccessibilityFeatures>) users more **comfortable** and **immersive** -- just as it as for regular users.

@Image(source: placeholder-image.png, alt: "")

@Chapter(name: "Accessible Description") {
@Image(source: chapter-placeholder.png, alt: "")

**Describe the interface** to that extent so accessibility API and its users has **no ambiguity in its interpretation**.

@TutorialReference(tutorial: "doc:AccessibleCharts")
@TutorialReference(tutorial: "doc:AccessibleListening")
@TutorialReference(tutorial: "doc:AccessibleReading")
@TutorialReference(tutorial: "doc:AlternativeDescription")
}

@Chapter(name: "Simplify Interactions") {
@Chapter(name: "Accessible Controls") {
Adopt **extended controlling options** to make the accessible experience **smoother**.
@TutorialReference(tutorial: "doc:Rotor")
@TutorialReference(tutorial: "doc:CustomActions")
@TutorialReference(tutorial: "doc:CustomRotor")
@Image(source: chapter-placeholder.png, alt: "")
}

@Chapter(name: "Speed Up Navigation") {
@Chapter(name: "Accessible Navigation") {
@Image(source: chapter-placeholder.png, alt: "")

Horizontal swipes are used for navigation, but vertical swipes allows to control inner values of an element. Read about <doc:aVerticalSwipes>
Develop **sufficient paths** to enable people **complete the tasks** they are supposed to within the given app.

@TutorialReference(tutorial: "doc:AdjustableElements")
@TutorialReference(tutorial: "doc:HideUselessControls")
@TutorialReference(tutorial: "doc:TextInput")
@TutorialReference(tutorial: "doc:ErrorPrevention")
}

@Chapter(name: "Provide Details") {
@Image(source: chapter-placeholder.png, alt: "")

There are several options that is rare needed, but you can be interested in

@TutorialReference(tutorial: "doc:AccessibleCharts")
@TutorialReference(tutorial: "doc:AccessibleListening")
@TutorialReference(tutorial: "doc:AccessibleReading")
@TutorialReference(tutorial: "doc:AlternativeDescription")
}

@Chapter(name: "Appearance") {
@Chapter(name: "Accessible Appearance") {
@Image(source: chapter-placeholder.png, alt: "")

Follow specific guidelines to make your GUI easy to comprehend.
Follow specific guidelines to make your **GUI easier to be comprehended**.

@TutorialReference(tutorial: "doc:ColorsAndShapes")
@TutorialReference(tutorial: "doc:DynamicType")
@TutorialReference(tutorial: "doc:AdaptedPrivacy")
}
}

@Volume(name: "Processes") {
@Volume(name: "Extend On Enterprise Processes") {

Additional resources expanding on the topic of Accessibility and its integration to design, development and production.
Additional resources expanding on the topic of accessibility and its integration at various stages of the product's **life cycle**.

@Image(source: placeholder-image.png, alt: "")

@Chapter(name: "Design") {
@Image(source: chapter-placeholder.png, alt: "")

How to design accessible apps.
Get familiar with the ideas and **reasoning behind accessibility**.
<doc:AccessibleDesign>

@TutorialReference(tutorial: "doc:AccessibilityTree")
Expand All @@ -118,7 +119,7 @@
@Chapter(name: "Testing") {
@Image(source: chapter-placeholder.png, alt: "")

How to test accessible apps.
**Tools** and **tactics** aimed to observe the accessibility of iOS applications.
<doc:AccessibilityQualityAssurance>

@TutorialReference(tutorial: "doc:AccessibilityChecklists")
Expand All @@ -131,7 +132,7 @@
@Chapter(name: "Maintenance") {
@Image(source: chapter-placeholder.png, alt: "")

How to maintain accessible apps.
A few thoughts on **preserving the results**.
<doc:Maintenance>

@TutorialReference(tutorial: "doc:Maintenance")
Expand All @@ -142,7 +143,7 @@
@Image(source: chapter-placeholder.png, alt: "")
<doc:AccessibilityActivism>

Burn some shit in front of your пенсионный фонд.
Participate in the life of **a11y community** and advocate for accessibility outside of it.

@TutorialReference(tutorial: "doc:AccessibilityActivism")
@TutorialReference(tutorial: "doc:AccessibilitySettingsStatistics")
Expand Down

This file was deleted.

Loading

0 comments on commit af57630

Please sign in to comment.