VoiceOverDesigner
VoiceOverDesigner copied to clipboard
Containers for elements
VoiceOver can group elements to containers. We should support that.
Container has label and controls inside.
Designer
- [x] #142
Navigator
- [x] #146
- [x] #147
- [x] #145
- [x] #156
- [x] Recognize text even when select from navigator. Probably recognition should be moved to settings
- [ ] Add grouping action to menu
- [ ] #226
- [x] Remove rearranging after grouping
- [ ] Allow to rename container by double click on it in Navigator
Canvas
- [x] #148
- [x] Rework saving. After drawing update elements in document
- [x] Draw container to make it visible
- [x] #158
- [ ] Select several element with hold shift or command. #179
- [x] #173
Settings
- [x] #150
- [x] Label
- [x] #151
- [x] #157
- [x] #168
- [x] Undo for element deletion inside container
- [x] Insets for element's settings are broken
- [x] #174
Refactoring
- [x] Simplify
any AccessibilityViewsubclasses switch
Preview
- [x] #154
- [x] #157
- [ ] Enumerate elements at Preview
Acceptance criteria:
How to create:
- [x] Group elements by containers in text area
- [x] Show group in document area
- [x] Give a name to area
- [x] Read area name by Preview
- [x] Also, this containers can be marked as
modal - [ ] Select several elements in text area and group via context menu (or Command+G shortcut)
I'd like to try that one. What do you mean for "Show group in document area"? Is it rectangle that contains all controls in group?
Is it rectangle that contains all controls in group?
Yeah, like that. You can ask @bbsody for help
Possible protocol:
import Document
protocol AccessibileView {
var label: String { get set }
var frame: CGRect { get set }
}
protocol AccessibilityContainer: AccessibilityView {
var elements: [AccessibilityElement] { get set }
}
protocol AccessibilityElement: AccessibilityView {
var isAccessibilityElement: Bool { get set }
var value: String { get set }
var hint: String { get set }
var trait: A11yTraits { get set }
}