Skip to content

Commit

Permalink
vc + table
Browse files Browse the repository at this point in the history
  • Loading branch information
crescentheaded committed Mar 20, 2024
1 parent e2fca65 commit 44a1f81
Show file tree
Hide file tree
Showing 45 changed files with 85 additions and 42 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
@TutorialReference(tutorial: "doc:AdaptCells")
}

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

Re-structure complex collections that way so it is easier to navigate between them.
Expand All @@ -48,7 +48,7 @@

@TutorialReference(tutorial: "doc:OnScreen-Navigation")
@TutorialReference(tutorial: "doc:Containers")
@TutorialReference(tutorial: "doc:FocusOrder")
@TutorialReference(tutorial: "doc:FocusManagement")
@TutorialReference(tutorial: "doc:Between-ScreensNavigation")
}
}
Expand All @@ -73,6 +73,8 @@

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

@Chapter(name: "Provide Details") {
Expand All @@ -86,16 +88,7 @@
@TutorialReference(tutorial: "doc:AlternativeDescription")
}

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

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

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

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

Follow specific guidelines to make your GUI easy to comprehend.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,51 +19,96 @@ Use voice to operate an iPhone
label: "General Knowledge")
}

**Voice Control** is a feature that enables *controlling* an **iPhone** with **speech commands**.

[![Alternate Text](ian)](https://www.youtube.com/watch?v=eePfgI2TT_Q)

## How Does It Function
The mechanism of this technology is to *recognise* its user's **voice commands** and perform appropriate *actions*.

@Image(source: "vc-mech", alt: "") {
The recognition converts the **audial input** of the user to **textual speech** and *looks for an element* with **matching description**.
}

### Voice Control Users
Such technology is used by those people who **cannot operate the device physically**.

@Row {
@Column {
@Image(source: "placeholder-image", alt: "") {
Placeholder
@Image(source: permanent-arms, alt: "") {
Not having hands is a **permanent** disability
}
}
@Column {

@Image(source: temporary-arms, alt: "") {
Having hands busy is a **temporary** disability
}
}
}

Voice Control is a feature that enables controlling an iPhone with speech commands.
They may have **motor** or **cognitive** limitations of both **temporary** or **permanent** kinds, so **Voice Control** is helpful as for a person who can't touch their phone during **driving** or **holding a child** as for someone who *lacks* the ability to control something by **touch** all the time.

The mechanism of this technology is to recognise its user's voice commands and perform appropriate actions. The recognition converts the audial input of the user to textual speech and looks for an element with matching description.
### Voice Control Is Not Siri

### Voice Control Users
Such technology is used by those people who cannot operate the device physically.
@Image(source: sirikit, alt: "") {
Visit SiriKit official documentation
}

They may have motor or cognitive limitations of both temporary or permanent kinds, so Voice Control is helpful as for a person who can't touch their phone during driving as for someone who lacks the ability to control something by touch all the time.
[**Siri**](https://www.apple.com/siri/) is a **digital assistant** native for any **Apple** device. **Siri** does indeed use **voice commands** to things its [*programmed to*](https://developer.apple.com/siri/), but the key difference between **Siri** and **Voice Control** is that the later is **unconditional**.

### Voice Control Is Not Siri
@Image(source: service-vs-tech, alt: "") {
Siri is a service while Voice Control is a technology
}

Siri is a digital assistant native for any Apple device. Siri does indeed use voice commands to things its programmed to, but the key difference between Siri and Voice Control is that the later is unconditional. It means that Voice Control is not relying on scripts it knows but takes the system's code and allows its user do whatever they want just as if they used the device the regular way.
It means that **Voice Control** is *not relying on scripts it knows* but takes the system's code and allows its user do **whatever** they want just as if they used the device the regular way.

### Grid Layout
Yes, the Voice Control experience is heavily influenced by accessibility of a particular app, but even if there is no accessibility adaption work done at all the user may still use the app. It is possible in Grid Layout mode of the feature: a case of Voice Control GUI where the screen is shattered into small enumerated parts so the user can simulate touching a particular point of the screen by calling the number of the cell.
This layout option is truly unconditional because other two depend on the accessibility of interface elements: Show Item Names will show captions for only those elements that have labels stated, Show Item Numbers will enumerate elements if they are marked as accessibility elements. Grid just draws the same grid on top of any interface.
Yes, the **Voice Control** experience is heavily influenced by *accessibility* of a particular app, but even if there is **no accessibility** adaption work done *at all* the user may still use the app. It is possible in **Grid Layout** mode of the feature: a case of **Voice Control** GUI where the screen is shattered into small enumerated parts so the user can simulate *touching* a particular point of the screen by **calling the number of the cell**.

@Image(source: grid, alt: "") {
Grid view is commonly used to navigate maps
}

This layout option is truly **unconditional** because other two depend on the *accessibility* of interface elements:
- **Show Item Names** will show **captions** for only those elements that have [**labels stated**](<doc:AccessibilityAttributes>);
- **Show Item Numbers** will enumerate elements if they are marked as [**accessibility elements**](<doc:AccessibilityAttributes>);
- **Grid Layout** just draws the *same* grid on top of **any interface**.

#### Voice Control Is... Switch Control
Considering the fact that we are in iOS Accessibility Handbook and have to have a deeper understanding of assistive software, Voice Control is essentially a case of Switch Control. It just uses microphone as a switch interface and has much more actions possible to perform.
Considering the fact that we are in **iOS Accessibility Handbook** and have to have a *deeper understanding* of [**assistive software**](<doc:AccessibilityFeatures>), **Voice Control** is essentially a case of [**Switch Control**](<doc:SwitchControl>). It just uses a *microphone* as a **switch interface** and has much more **actions** possible to perform.

### Languages Voice Control Understands
At the moment Voice Control is only available in English, French, German, Spanish, Japanese and Chinese language, so it won't be possible to fully operate an iPhone by speech it does not yet support.
At the moment **Voice Control** is only available in English, French, German, Spanish, Japanese and Chinese languages, so it won't be possible to fully operate an iPhone by speech it does not yet support.

### Speechless Voice Control
Though one always can control the device by sounds that are not inherent to any language or voice at all. It can be done in Switch Control settings by choosing Sound option in switches menu.
This feature is useful for those people who cannot produce speech but are still able to make sounds. It is a common case for speech disfunction, whose pathogenesis diversity is above this book's level.
Though one always can control the device by [**sounds**](https://en.wikipedia.org/wiki/Paralanguage) that are not inherent to *any* language or voice at all. It can be done in [**Switch Control**](<doc:SwitchControl>) settings by choosing **Sound** option in **switches menu**.

@Image(source: sc-sound-setup, alt: "")

This feature is useful for those people who **cannot produce speech** but are still able to make sounds. It is a common case for **speech disfunction**, whose pathogenesis diversity is above this book's level.

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


## Trying out Voice Control
To turn Voice Control on go to Setting and find Voice Control feature in Accessibility settings.
To turn **Voice Control** on go to **Settings** and find **Voice Control** feature in **Accessibility** settings.
@Image(source: vc-setup, alt: "")

## Supporting Voice Control in Applications
Accessibility adaption for Voice Control can be boiled down to enabling the interactive elements to be accessible and giving them succinct localised names.

## Naming guidelines
For an element's name to be succinct it has to be as short as possible without losing information necessary to distinct this element from others and comprehend everything that should be delivered.

### Bad examples

### Good Examples


## Use of synonyms


@Comment {
https://www.apple.com/macos/big-sur/docs/Voice_Control_Tech_Brief_Sept_2019.pdf
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,44 +89,49 @@ Reading the book one may sometimes notice screenshots of iOS applications with *
### Adapting Strategy
- <doc:AdaptionStrategy>

### Must-Have Functionality
### Accessible Elements
- <doc:BasicTechniques>
- <doc:AccessibilityAttributes>
- <doc:AdaptCells>
- <doc:Containers>

### Accessible Scenarios
- <doc:Navigation>
- <doc:FocusOrder>
- <doc:aControlHierarchy>
- <doc:OnScreen-Navigation>
- <doc:OnScreen-Navigation>
- <doc:Between-ScreensNavigation>


### Accessible Interface
- <doc:Containers>
- <doc:FocusManagement>
- <doc:aControlHierarchy>

### Greater Accessible Experience
- <doc:AdvancedTechniques>

### Accessible Graphics
### Accessible Appearance
- <doc:ColorsAndShapes>
- <doc:DynamicType>
- <doc:AdaptedPrivacy>

### Adapt Content
### Accessible Description
- <doc:SensorySystem>
- <doc:AlternativeDescription>
- <doc:AccessibleReading>
- <doc:AccessibleListening>
- <doc:AccessibleCharts>

### Controls
### Accessible Controls
- <doc:MotorDisabilities>
- <doc:TextInput>
- <doc:aAdjustableElements>
- <doc:CustomActions>
- <doc:Rotor>
- <doc:CustomRotor>
- <doc:aVerticalSwipes>

### Input
- <doc:TextInput>
- <doc:aVerticalSwipes>

### Miscellaneous
- <doc:AdaptedPrivacy>
### Accessible Navigation
- <doc:Rotor>
- <doc:CustomRotor>

### What's Next?
- <doc:WhatsNext>
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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 44a1f81

Please sign in to comment.