2.0 KiB
MDCTextField Accessibility
Like UITextFields, MDCTextFields are accessible by default. To best take advantage of their accessibility features please review the following recommendations.
-accessibilityValue Behavior
Similar to UITextFields, MDCTextFields are not accessibility elements themselves. Rather, they are accessibility
containers whose subviews act as accessibility elements. Such subviews include the MDCTextField's placeholder
label, the leading and trailing underline labels, and the clear button. The accessibilityLabels of these subviews
contribute to the accessibilityValue of the MDCTextField as a whole, giving it a value consistent with that of a
UITextField in a similar state. If the MDCTextField is empty, it will return a combination of any placeholderLabel text and
leading underline text. If the MDCTextField is not empty, it will return a combination of the MDCTextField's current text
and any leading underline text.
Using -accessibilityLabel
MDCTextField does not provide a custom implementation for accessibilityLabel. The client is free to set an
appropriate accessibilityLabel following norms established by Apple if they wish. However, they should consider
whether or not it it will provide information that is superfluous. A common scenario in which an
accessibilityLabel might not be necessary would be an MDCTextField whose leading underline label (a view not
present in UITextFields) conveys the information that an accessibility label might have otherwise conveyed. For
example, if an MDCTextField is intended to hold a user's zip code, and the leading underline label's
accessibilityLabel is already "Zip code", setting an accessibilityLabel of "Zip code" on the MDCTextField
may lead to duplicate VoiceOver statements.
Using -accessibilityHint
In general, Apple advises designing your user interface in such a way that clarification in the form of an
-accessibilityHint is not needed. However, it is always an option.