Skip to content

Commit

Permalink
new course structure
Browse files Browse the repository at this point in the history
  • Loading branch information
crescentheaded committed May 24, 2024
1 parent 38510d9 commit 34aa33a
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 37 deletions.
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
@Tutorials(name: "iOS Accessibility") {
@Intro(title: "iOS Accessibility Guide") {
This collection of guides may be perceived as a complete course on accessibility of iOS apps: from the very basics to professional system design solution.
This collection of guides may be perceived as a **complete course on accessibility of iOS apps**: from the very **basics** to **advanced** system design solution.

### Course plan
The course starts with the tasks essential for implementation -- without them the assistive technology won't simply function within the app. Volume by volume the broadness of topics and cost of integration will rise.
### Tutorials layout
Each tutorial from every chapter covers the theory behind the given topic and provides sufficient amount of real-life examples, additional resources and source-code for both UIKit and SwiftUI so you can apply new knowledge right away.
### Course structure
The course consists of three volumes: **basic**, **advanced** and **enterprise** levels. Each volume contains its own **chapters** of pages related to a particular topic.

### Contents description
Every page sufficiently covers the **theory** behind the given topic. **Real-life examples**, **additional resources** and **sample code** for both UIKit and SwiftUI will enable you to **practise** accessibility right away.

### Let's dive in!

Expand All @@ -15,31 +15,33 @@

@Volume(name: "Integrating interfaces with accessibility") {

This volume covers the **tasks crucial for implementation**: unsolved issues discussed here *exclude* users of [**assistive technology**](<doc:AccessibilityFeatures>).

The **fundamental knowledge** of supporting accessibility API on a *minimal* level of compliance. The volume inspects **accessible functionality** in three steps: essential **attributes**, adapted **structure** and alternative **navigation**.
@Image(source: volume-1.png, alt: "")

@Chapter(name: "Expose interfacial data") {
@Image(source: chapter-1-1.png, alt: "")

First of all, every **functional element** of the interface has to be sufficiently *described*.
First of all, to enable assistive technology, every *functional* element of the interface has to be sufficiently **described**.

@TutorialReference(tutorial: "doc:AccessibilityAttributes")
@TutorialReference(tutorial: "doc:MultipleTraits")
}

@Chapter(name: "Secure user scenarios") {
@Chapter(name: "Simplify layout") {
@Image(source: chapter-1-3.png, alt: "")

Secondly, to make sure that the users of assistive technology are able to complete the tasks they are *supposed* to achieve we should **review the layout** of the accessible interface.
Secondly, to make sure that the users of assistive technology are able to complete the tasks they are *supposed* to achieve, we will **review the layout** of the interface.

@TutorialReference(tutorial: "doc:AdaptCells")
@TutorialReference(tutorial: "doc:ComplexCells")
@TutorialReference(tutorial: "doc:VerticalSwipes")
}

@Chapter(name: "Ensure that navigation is possible") {
@Chapter(name: "Establish meaningful connections") {
@Image(source: chapter-1-2.png, alt: "")

Lastly, to *reconnect* the elements into a integral interface certain **alternative controlling options** have to be enabled.
@TutorialReference(tutorial: "doc:Navigation")
Lastly, to *connect* the elements into a integral accessible interface certain **alternative controlling options** have to be enabled.
@TutorialReference(tutorial: "doc:HorizontalSwipes")
@TutorialReference(tutorial: "doc:Notifications")

}
}
Expand All @@ -52,43 +54,40 @@
@Chapter(name: "Accessible content") {
@Image(source: chapter-2-1.png, alt: "")

**Describe the accessible interface** to that extent so its users have **less ambiguity in its interpretation**.
**Describe the interface** to that extent so users of accessibility features have a **full picture**.
@TutorialReference(tutorial: "doc:AccessibleCharts")
@TutorialReference(tutorial: "doc:AccessibleListening")
@TutorialReference(tutorial: "doc:AccessibleReading")
@TutorialReference(tutorial: "doc:AlternativeDescription")
}

@Chapter(name: "Accessible controls") {
Implement **advanced alternative accessible controlling options** to make the experience **smoother**.
Implement **alternative accessible controlling options** to enable additional ways of **interacting with the interface**.
@TutorialReference(tutorial: "doc:AdjustableElements")
@TutorialReference(tutorial: "doc:Frame")
@TutorialReference(tutorial: "doc:FocusFrame")
@TutorialReference(tutorial: "doc:Haptics")
@TutorialReference(tutorial: "doc:KeyboardShortcuts")
@TutorialReference(tutorial: "doc:ControlHierarchy")
@TutorialReference(tutorial: "doc:Traits")
@TutorialReference(tutorial: "doc:TextInput")
@Image(source: chapter-2-2.png, alt: "")
}

@Chapter(name: "Accessible navigation") {
@Image(source: chapter-2-3.png, alt: "")

Develop **sufficient paths** to enable people **conveniently complete the tasks** they are supposed to.
Develop **accessible paths** to enable people **conveniently complete the tasks** they are supposed to.

@TutorialReference(tutorial: "doc:HorizontalSwipes")
@TutorialReference(tutorial: "doc:Notifications")
@TutorialReference(tutorial: "doc:VerticalSwipes")
@TutorialReference(tutorial: "doc:ControlHierarchy")
@TutorialReference(tutorial: "doc:CustomActions")
@TutorialReference(tutorial: "doc:CustomRotor")
@TutorialReference(tutorial: "doc:Containers")
@TutorialReference(tutorial: "doc:AccessibleScroll")
@TutorialReference(tutorial: "doc:Error-Handling")
}

@Chapter(name: "Visual accessibility") {
@Image(source: chapter-2-4.png, alt: "")

Make your **GUI easier to be visually comprehended** for people with **visual** or **mental impairments**.

Enable **sighted** people use the interface equitably regardless of their **visual** or **mental circumstances**.
@TutorialReference(tutorial: "doc:ColoursAndShapes")
@TutorialReference(tutorial: "doc:InterfaceScale")
@TutorialReference(tutorial: "doc:ReduceMotion")
Expand All @@ -97,14 +96,14 @@

@Volume(name: "Extend on enterprise processes") {

Concluding the course, the last volume provides **additional insights** on the topic of accessibility and its integration at various stages of the **product's life cycle**.
Concluding the course, the last volume provides **additional insights** on the topic of accessibility and its integration at various stages of **product life cycle**.

@Image(source: volume-3.png, alt: "")

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

Get familiar with the ideas and **reasoning behind accessibility**.
**Inclusive design**, **tools**, and **reasoning** behind accessibility.
@TutorialReference(tutorial: "doc:Standards")
@TutorialReference(tutorial: "doc:InclusiveDesign")
@TutorialReference(tutorial: "doc:VoiceOverDesigner")
Expand All @@ -113,10 +112,8 @@
@Chapter(name: "Testing") {
@Image(source: chapter-3-2.png, alt: "")

**Tools** and **tactics** aimed to observe the accessible state of iOS applications.
<doc:AccessibilityQualityAssurance>
**Debug** and **maintain** the accessible state of iOS applications.

@TutorialReference(tutorial: "doc:AccessibilityQualityAssurance")
@TutorialReference(tutorial: "doc:AccessibilityChecklists")
@TutorialReference(tutorial: "doc:AccessibilityInspector")
@TutorialReference(tutorial: "doc:UnitTesting")
Expand All @@ -129,14 +126,14 @@
@Image(source: chapter-3-3.png, alt: "")
<doc:AccessibilityActivism>

Participate in the life of **a11y community** and be an advocate for accessibility in the outer world.
Participate in the life of **a11y community** and **advocate for accessibility** as an iOS developer.
@TutorialReference(tutorial: "doc:AccessibilityActivism")
@TutorialReference(tutorial: "doc:Statistics")

}
}
@Resources {
Explore more resources for learning about accessibility.
Explore more resources for learning about ~~sloths~~ accessibility.

@Documentation(destination: "https://www.example.com/sloth-videos/") {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,28 @@
}
}

@Section(title: "Grouping") {
@ContentAndMedia {

}
@Steps {
@Step {

}
}
}

@Section(title: "Containers") {
@ContentAndMedia {

}
@Steps {
@Step {

}
}
}

@Section(title: "Notifications") {
@ContentAndMedia {

Expand Down Expand Up @@ -264,8 +286,4 @@
@Comment {
// TODO: Check VoiceOver grouping
}

## Topics
- <doc:ControlHierarchy>
- <doc:AdaptingCell>
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 34aa33a

Please sign in to comment.