MCPcopy Create free account
hub / github.com/AccessKit/accesskit / traits

Method traits

platforms/ios/src/node.rs:117–158  ·  view source on GitHub ↗
(&self)

Source from the content-addressed store, hash-verified

115 }
116
117 fn traits(&self) -> UIAccessibilityTraits {
118 let mut traits = match self.0.role() {
119 Role::Button
120 | Role::DefaultButton
121 | Role::DisclosureTriangle
122 | Role::CheckBox
123 | Role::RadioButton
124 | Role::Switch
125 | Role::MenuItemCheckBox
126 | Role::MenuItemRadio
127 | Role::Tab => unsafe { UIAccessibilityTraitButton },
128 Role::Link => unsafe { UIAccessibilityTraitLink },
129 Role::Image => unsafe { UIAccessibilityTraitImage },
130 Role::Label => unsafe { UIAccessibilityTraitStaticText },
131 Role::Heading => unsafe { UIAccessibilityTraitHeader },
132 Role::Slider | Role::SpinButton => unsafe { UIAccessibilityTraitAdjustable },
133 Role::SearchInput => unsafe { UIAccessibilityTraitSearchField },
134 _ => unsafe { UIAccessibilityTraitNone },
135 };
136
137 if self.0.is_disabled() {
138 traits |= unsafe { UIAccessibilityTraitNotEnabled };
139 }
140
141 if self.0.toggled().is_some() {
142 traits |= unsafe { UIAccessibilityTraitToggleButton };
143 }
144
145 if self.0.is_selected() == Some(true) {
146 traits |= unsafe { UIAccessibilityTraitSelected };
147 }
148
149 if self.0.role() == Role::ProgressIndicator || self.0.live() != Live::Off {
150 traits |= unsafe { UIAccessibilityTraitUpdatesFrequently };
151 }
152
153 if self.0.is_touch_transparent() {
154 traits |= unsafe { UIAccessibilityTraitAllowsDirectInteraction };
155 }
156
157 traits
158 }
159
160 fn container_type(&self) -> UIAccessibilityContainerType {
161 match self.0.role() {

Callers 1

node_traitsFunction · 0.80

Calls 6

is_disabledMethod · 0.80
toggledMethod · 0.80
is_touch_transparentMethod · 0.80
roleMethod · 0.45
is_selectedMethod · 0.45
liveMethod · 0.45

Tested by

no test coverage detected