View in English

  • Apple 开发者
    • 入门汇总

    探索“入门汇总”

    • 概览
    • 学习
    • Apple Developer Program

    及时了解最新动态

    • 最新动态
    • 开发者你好
    • 平台

    探索“平台”

    • Apple 平台
    • iOS
    • iPadOS
    • macOS
    • Apple tvOS
    • visionOS
    • watchOS
    • App Store

    精选

    • 设计
    • 分发
    • 游戏
    • 配件
    • 网页
    • Home
    • CarPlay 车载
    • 技术

    探索“技术”

    • 概览
    • Xcode
    • Swift
    • SwiftUI

    精选

    • 辅助功能
    • App Intents
    • Apple 智能
    • 游戏
    • 机器学习与 AI
    • 安全性
    • Xcode Cloud
    • 社区

    探索“社区”

    • 概览
    • “与 Apple 会面交流”活动
    • 社区主导的活动
    • 开发者论坛
    • 开源

    精选

    • WWDC
    • Swift Student Challenge
    • 开发者故事
    • App Store 大奖
    • Apple 设计大奖
    • Apple Developer Centers
    • 文档

    探索“文档”

    • 文档库
    • 技术概述
    • 示例代码
    • 《人机界面指南》
    • 视频

    发布说明

    • 精选更新
    • iOS
    • iPadOS
    • macOS
    • watchOS
    • visionOS
    • Apple tvOS
    • Xcode
    • 下载

    探索“下载”

    • 所有下载
    • 操作系统
    • 应用程序
    • 设计资源

    精选

    • Xcode
    • TestFlight
    • 字体
    • SF Symbols
    • Icon Composer
    • 支持

    探索“支持”

    • 概览
    • 帮助指南
    • 开发者论坛
    • “反馈助理”
    • 联系我们

    精选

    • 《开发者账户帮助》
    • 《App 审核指南》
    • 《App Store Connect 帮助》
    • 即将实行的要求
    • 协议和准则
    • 系统状态
  • 快速链接

    • 活动
    • 新闻
    • 论坛
    • 示例代码
    • 视频
 

视频

打开菜单 关闭菜单
  • 专题
  • 所有视频
  • 关于

更多视频

  • 简介
  • 概要
  • 代码
  • 优化自定控件的辅助功能体验

    完善 App 的交互式元素,让人人都能方便使用,从而充分释放这些元素的潜力。我们将详细讲解用户如何借助旁白及其他辅助技术来理解并使用控件;还将介绍多种输入方法,例如操作、透视手势和直接触控。与我们一起深入探索多个示例控件,优化提升每个控件的辅助功能体验。

    章节

    • 0:01 - Introduction
    • 1:02 - Guiding principles
    • 8:41 - Complex controls

    资源

    • Accessible controls
    • Accessible descriptions
    • Accessibility fundamentals
    • Creating accessible views
      • 高清视频
      • 标清视频

    相关视频

    WWDC24

    • 了解 SwiftUI 中的辅助功能
  • 搜索此视频…
    • 5:01 - Improve accessibility for coffee dispenser

      // Improve accessibility for coffee dispenser
      
      import SwiftUI
      
      struct CoffeeDispenserView: View {
          @State var coffee: Double = 0.0
          var body: some View {
              CoffeeSlider(value: coffee)
                  .accessibilityElement()
                  .accessibilityLabel("Coffee Dispenser")
                  .accessibilityValue("\(Int(coffee)) ounces")
                  .accessibilityAddTraits(.adjustable)
                  .accessibilityAdjustableAction { direction in
                      switch direction {
                      case .increment:
                          increaseCoffeeAmount()
                      case .decrement:
                          decreaseCoffeeAmount()
                      }
                  }
          }
      }
    • 7:05 - Set the accessibility activation point

      // Set the accessibility activation point
      import SwiftUI
      
      struct CoffeeDispenserView: View {
          @State var coffee: Double = 0.0
      
          var body: some View {
              CoffeeSlider(value: coffee)
                  .accessibilityActivationPoint(
                      UnitPoint(x: 0.5, y: 1 - coffee)
                  )
          }
      }
    • 7:27 - Post accessibility announcements

      // Post accessibility announcements 
      
      import SwiftUI
      
      struct CoffeeDispenserView: View {
          @State var coffee: Double = 0.0
        
          var body: some View {
              CoffeeSlider(value: coffee)
                  // ...
                  .onChange(of: coffee) { _, newValue in
                      if sufficientTimeSinceLastAnnouncement() && valueHasChanged() {
                          cacheLastSpokenValue(newValue)
                          AccessibilityNotification
                              .Announcement(newValue)
                              .post()
                      }
                  }
          }
      }
    • 10:13 - Add custom actions

      // Add custom actions
      
      import SwiftUI
                                                                
      struct EqualizerView: View {
          var body: some View {
              EqualizerPad()
                  .accessibilityActions("Move Up") {
                      increaseY(by: 10)
                  }
                  .accessibilityActions("Move Right") {
                      increaseX(by: 10)
                  }
                  .accessibilityActions("Move Down") {
                      decreaseY(by: 10)
                  }
                  .accessibilityActions("Move Left") {
                      decreaseX(by: 10)
                  }
           }
       }
    • 12:47 - Customize accessibility for the interactive cat surface

      // Customize accessibility for the interactive cat surface
      
      import SwiftUI
      
      struct VirtualCat: View {
          var cat: CatModel
          var body: some View {
              InteractiveCatSurface()
                  .accessibilityLabel("Virtual Cat")
                  .accessibilityValue(cat.currentReaction.description)
                  .accessibilityDirectTouch([.requiresActivation])
           }
      }
    • 0:01 - Introduction
    • Why custom controls need accessibility support so everyone can use what your app was built to do, and what the session covers — guiding principles and how to apply them to complex controls.

    • 1:02 - Guiding principles
    • Create accessible custom controls by translating implicit visual cues into explicit information for assistive technologies. Apply labels, values, traits, and actions to ensure these controls are universally understood and actionable by everyone.

    • 8:41 - Complex controls
    • Complex controls, like multi-dimensional pads and highly interactive virtual surfaces, demand advanced accessibility techniques beyond basic labels and values. Implementing features like passthrough gestures, custom actions, and the Direct Touch API allows people to seamlessly navigate and interact with these interfaces.

Developer Footer

  • 视频
  • WWDC26
  • 优化自定控件的辅助功能体验
  • 打开菜单 关闭菜单
    • iOS
    • iPadOS
    • macOS
    • Apple tvOS
    • visionOS
    • watchOS
    打开菜单 关闭菜单
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • SF Symbols
    打开菜单 关闭菜单
    • 辅助功能
    • 配件
    • Apple 智能
    • App 扩展
    • App Store
    • 音频与视频 (英文)
    • 增强现实
    • 设计
    • 分发
    • 教育
    • 字体 (英文)
    • 游戏
    • 健康与健身
    • App 内购买项目
    • 本地化
    • 地图与位置
    • 机器学习与 AI
    • 开源资源 (英文)
    • 安全性
    • Safari 浏览器与网页 (英文)
    打开菜单 关闭菜单
    • 完整文档 (英文)
    • 部分主题文档 (简体中文)
    • 教程
    • 下载
    • 论坛 (英文)
    • 视频
    打开菜单 关闭菜单
    • 支持文档
    • 联系我们
    • 错误报告
    • 系统状态 (英文)
    打开菜单 关闭菜单
    • Apple 开发者
    • App Store Connect
    • 证书、标识符和描述文件 (英文)
    • 反馈助理
    打开菜单 关闭菜单
    • Apple Developer Program
    • Apple Developer Enterprise Program
    • App Store Small Business Program
    • MFi Program (英文)
    • Mini Apps Partner Program
    • News Partner Program (英文)
    • Video Partner Program (英文)
    • 安全赏金计划 (英文)
    • Security Research Device Program (英文)
    打开菜单 关闭菜单
    • 与 Apple 会面交流
    • Apple Developer Center
    • App Store 大奖 (英文)
    • Apple 设计大奖
    • Apple Developer Academies (英文)
    • WWDC
    阅读最近新闻。
    获取 Apple Developer App。
    版权所有 © 2026 Apple Inc. 保留所有权利。
    使用条款 隐私政策 协议和准则