Условные метки доступности Swi... Заметка

Условные метки доступности SwiftUI

В iOS 18 Apple представила необязательный параметр isEnabled для различных модификаторов доступности в SwiftUI. Этот параметр позволяет разработчикам условно применять модификаторы доступности в зависимости от определенных условий. Параметр isEnabled доступен для модификаторов, таких как .accessibilityLabel, .accessibilityInputLabels, .accessibilityValue и .accessibilityHint. Эта функция полезна, когда разработчикам необходимо условно переопределять стандартное поведение доступности. Например, в списке элементов с кнопкой для переключения статуса избранного, стандартная метка доступности для действия кнопки может быть изменена в зависимости от статуса избранного. Вместо предоставления условной метки доступности разработчики могут использовать вариант модификатора с isEnabled, чтобы применять пользовательскую метку только при выполнении определенного условия. Такой подход позволяет избежать повторения и локализации стандартной метки. В приведенном примере модификатор .accessibilityLabel используется с параметром isEnabled, чтобы применить пользовательскую метку "Удалить из избранного" только тогда, когда элемент находится в избранном. Это небольшое улучшение, которое упрощает код и сокращает усилия по локализации. Введение параметра isEnabled в iOS 18 повышает гибкость модификаторов доступности в SwiftUI.