CINXE.COM

Accessibility - Apple Developer

<!DOCTYPE html> <html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta charset="utf-8" /> <meta name="Author" content="Apple Inc." /> <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" /> <link rel="shortcut icon" href="/favicon.ico" /> <link rel="icon" href="/favicon.ico" /> <link rel="mask-icon" href="/apple-logo.svg" color="#333333"> <link rel="stylesheet" href="/assets/styles/global.dist.css?01172423298" type="text/css" /> <link rel="stylesheet" href="/assets/styles/dark-mode.css?17182448067" type="text/css" media="(prefers-color-scheme: dark)" data-color-scheme="dark" /> <link rel="stylesheet" href="/assets/styles/localization.css?39172414191" type="text/css" /> <script src="/assets/scripts/lib/jquery/jquery-3.6.0.min.js?17182448067"></script> <script src="/assets/scripts/settings.js?17182448067"></script> <script src="/assets/scripts/language-locales.js?17182448067"></script> <script src="/assets/scripts/DeveloperBreadcrumbs.js?05182434080"></script> <script async src="/assets/scripts/lib/jquery/jquery.retinate.js?17182448067"></script> <script async src="/assets/scripts/global.js?17182448067"></script> <script async src="/assets/scripts/global-logout.js?17182448067"></script> <link rel="stylesheet" href="https://www.apple.com/wss/fonts?family=SF+Pro&v=2" type="text/css" /> <link rel="stylesheet" href="https://www.apple.com/wss/fonts?family=SF+Pro+Icons&v=1" type="text/css" /> <link rel="stylesheet" href="https://www.apple.com/wss/fonts?family=SF+Mono&v=2" type="text/css" /> <link rel="stylesheet" href="https://www.apple.com/wss/fonts?family=Apple+Icons&amp;v=1" type="text/css" /> <title>Accessibility - Apple Developer</title> <meta name="omni_page" content="Accessibility - (English)" /> <meta name="Description" content="With built-in accessibility features, accessibility APIs, and developer tools, Apple operating systems provide extraordinary opportunities to deliver high-quality experiences to everyone, including people with disabilities." /> <meta name="search_icon" content="/assets/elements/icons/accessibility/accessibility-96x96_2x.png" /> <meta property="og:locale" content="en_US" /> <meta property="og:site_name" content="Apple Developer" /> <meta property="og:type" content="website" /> <meta property="og:image" content="https://developer.apple.com/news/images/og/accessibility-og.jpg" /> <meta property="og:title" content="Accessibility - Apple Developer" /> <meta property="og:description" content="With built-in accessibility features, accessibility APIs, and developer tools, Apple operating systems provide extraordinary opportunities to deliver high-quality experiences to everyone, including people with disabilities." /> <meta property="og:url" content="https://developer.apple.com/accessibility/" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:image" content="https://developer.apple.com/news/images/og/accessibility-og-twitter.jpg" /> <meta name="twitter:description" content="With built-in accessibility features, accessibility APIs, and developer tools, Apple operating systems provide extraordinary opportunities to deliver high-quality experiences to everyone, including people with disabilities." /> <meta name="twitter:title" content="Accessibility - Apple Developer" /> <meta name="twitter:url" content="https://developer.apple.com/accessibility/" /> <link rel="alternate" href="https://developer.apple.com/accessibility/" hreflang="en" /> <link rel="alternate" href="https://developer.apple.com/cn/accessibility/" hreflang="zh-CN" /> <link rel="alternate" href="https://developer.apple.com/jp/accessibility/" hreflang="ja-JP" /> <link rel="alternate" href="https://developer.apple.com/kr/accessibility/" hreflang="ko-KR" /> <link rel="canonical" href="https://developer.apple.com/accessibility/" /> <link rel="stylesheet" href="/accessibility/styles/accessibility.css" type="text/css" /> <link rel="stylesheet" href="/accessibility/styles/overview.css" type="text/css" /> </head> <body id="overview" class="dmf"> <script> const prefersDark = window.matchMedia("(prefers-color-scheme: dark)").matches; if (window.Settings.preferredColorScheme) { const colorTheme = (window.Settings.preferredColorScheme === 'auto') && !prefersDark ? 'light' : (window.Settings.preferredColorScheme === 'light') ? 'light' : 'dark' document.body.setAttribute('data-color-scheme', colorTheme); } else { document.body.setAttribute('data-color-scheme', prefersDark ? 'dark' : 'light'); } </script> <style> /* footer */ html body[data-color-scheme='dark'] #main section.section.section-resources.bg-alt {background-color:var(--fill-tertiary);color:var(--glyph-gray);} html body[data-color-scheme='dark'] .developer-router-links {background-color:var(--fill-tertiary);color:var(--glyph-gray);} html body[data-color-scheme='dark'] .footer {background-color:var(--fill-tertiary);color:var(--glyph-gray-tertiary);} /* body backgrounds */ body[data-color-scheme='dark'].dmf {background-color: #000;} html body[data-color-scheme='dark'].dmf .bg-alt {background-color:var(--fill-tertiary);} html body[data-color-scheme='dark'].dmf .bg-blue {background-color:var(--fill-blue-secondary);} html body[data-color-scheme='dark'].dmf .bg-green-blue {background:linear-gradient(135deg, #65976d 0%, #588ea4 100%)} html body[data-color-scheme='dark'].dmf .bg-yellow {background: linear-gradient(to bottom, var(--fill-tertiary) 0%, var(--fill-tertiary-alt) 100%);} html body[data-color-scheme='dark'].dmf .bg-light {background-color:var(--fill-secondary-alt);} html body[data-color-scheme='dark'].dmf .bg-gradient, html body[data-color-scheme='dark'].dmf .bg-grad {background:linear-gradient(to bottom, var(--dark) 0%, var(--fill-gray-secondary-alt) 100%);} html body[data-color-scheme='dark'].dmf .bg-grad-down {background:linear-gradient(to bottom, var(--dark) 0%, var(--fill-gray-secondary-alt) 100%);} html body[data-color-scheme='dark'].dmf .bg-grad-up {background:linear-gradient(to bottom, var(--fill-gray-secondary-alt) 0%, var(--dark) 100%);} html body[data-color-scheme='dark'].dmf .bg-blue-gradient, html body[data-color-scheme='dark'].dmf .bg-gradient-blue {background:linear-gradient(to bottom, var(--fill-blue-gradient-light) 0%, var(--fill-blue-gradient-dark) 100%);} html body[data-color-scheme='dark'].dmf .bg-blue-gradient-alt {background: linear-gradient(90deg, #061830 0%, #102d48 100%);} /* globalNav */ html body[data-color-scheme='dark'] #ac-globalnav {background: var(--fill-tertiary);} /* localNav */ html body[data-color-scheme='dark'] .localnav.localnav-scrim .localnav-background, html body[data-color-scheme='dark'] .localnav-scrim.localnav.localnav-background { background-color: rgba(29, 29, 31, 0.9); } @supports ((-webkit-backdrop-filter: initial) or (backdrop-filter: initial)) { html body[data-color-scheme='dark'] .localnav.localnav-scrim .localnav-background, html body[data-color-scheme='dark'] .localnav-scrim.localnav.localnav-background { background-color: rgba(29, 29, 31, 0.72); } } </style> <link rel="stylesheet" href="/assets/styles/globalnav.css?55202406207" type="text/css" /> <link rel="stylesheet" href="/assets/styles/suggest-lang.css?17182448067" type="text/css" /> <div id="suggest-lang" class="ribbon hide" lang="en"> <div class="ribbon-content-wrapper"> <div class="ribbon-content row"> <div class="column large-12 large-centered"> <p><a href="#" id="suggest-link" class="ribbon-link more">View in English</a></p> <button id="suggest-closer" class="icon icon-after icon-reset" aria-label="Dismiss language suggestion" tabindex="0"></button> </div> </div> </div> </div> <script src="/assets/scripts/suggest-lang.js?17182448067"></script> <aside id="ac-gn-segmentbar" class="ac-gn-segmentbar" lang="en-US" dir="ltr"> </aside> <input type="checkbox" id="ac-gn-menustate" class="ac-gn-menustate" /> <nav id="ac-globalnav" class="no-js" role="navigation" aria-label="Global" data-hires="false" data-analytics-region="global nav" lang="en-US" dir="ltr" data-www-domain="www.apple.com" data-store-locale="us" data-store-root-path="/us" data-store-api="/[storefront]/shop/bag/status" data-search-locale="en_US" data-search-suggestions-api="/search-services/suggestions/" data-search-defaultlinks-api="/search-services/suggestions/defaultlinks/" data-search-suggestions-enabled="false"> <div class="ac-gn-content"> <ul class="ac-gn-header"> <li class="ac-gn-item ac-gn-menuicon"> <label class="ac-gn-menuicon-label" for="ac-gn-menustate" aria-hidden="true"> <span class="ac-gn-menuicon-bread ac-gn-menuicon-bread-top"> <span class="ac-gn-menuicon-bread-crust ac-gn-menuicon-bread-crust-top"></span> </span> <span class="ac-gn-menuicon-bread ac-gn-menuicon-bread-bottom"> <span class="ac-gn-menuicon-bread-crust ac-gn-menuicon-bread-crust-bottom"></span> </span> </label> <a href="#ac-gn-menustate" role="button" class="ac-gn-menuanchor ac-gn-menuanchor-open" id="ac-gn-menuanchor-open"> <span class="ac-gn-menuanchor-label">Global Nav Open Menu</span> </a> <a href="#" role="button" class="ac-gn-menuanchor ac-gn-menuanchor-close" id="ac-gn-menuanchor-close"> <span class="ac-gn-menuanchor-label">Global Nav Close Menu</span> </a> </li> <li class="ac-gn-item ac-gn-apple"> <a class="ac-gn-link ac-gn-link-apple-developer" href="/" data-analytics-title="appledeveloper home" id="ac-gn-firstfocus-small"> <span class="ac-gn-link-text">Apple Developer</span> </a> </li> </ul> <div class="ac-gn-search-placeholder-container" role="search"> <div class="ac-gn-search ac-gn-search-small"> <a id="ac-gn-link-search-small" class="ac-gn-link" href="/search/" data-analytics-title="search" data-analytics-click="search" data-analytics-intrapage-link aria-label="Search"> <div class="ac-gn-search-placeholder-bar"> <div class="ac-gn-search-placeholder-input"> <div class="ac-gn-search-placeholder-input-text" aria-hidden="true"> <div class="ac-gn-link-search ac-gn-search-placeholder-input-icon"></div> <span class="ac-gn-search-placeholder">Search</span> </div> </div> <div class="ac-gn-searchview-close ac-gn-searchview-close-small ac-gn-search-placeholder-searchview-close"> <span class="ac-gn-searchview-close-cancel" aria-hidden="true">Cancel</span> </div> </div> </a> </div> </div> <ul class="ac-gn-list"> <li class="ac-gn-item ac-gn-apple"> <a class="ac-gn-link ac-gn-link-apple-developer" href="/" data-analytics-title="appledeveloper home" id="ac-gn-firstfocus"> <span class="ac-gn-link-text">Apple Developer</span> </a> </li> <li class="ac-gn-item ac-gn-item-menu ac-gn-news"> <a class="ac-gn-link ac-gn-link-news" href="/news/" data-analytics-title="news"> <span class="ac-gn-link-text">News</span> </a> </li> <li class="ac-gn-item ac-gn-item-menu ac-gn-discover"> <a class="ac-gn-link ac-gn-link-discover" href="/discover/" data-analytics-title="discover"> <span class="ac-gn-link-text">Discover</span> </a> </li> <li class="ac-gn-item ac-gn-item-menu ac-gn-design"> <a class="ac-gn-link ac-gn-link-design" href="/design/" data-analytics-title="design"> <span class="ac-gn-link-text">Design</span> </a> </li> <li class="ac-gn-item ac-gn-item-menu ac-gn-develop"> <a class="ac-gn-link ac-gn-link-develop" href="/develop/" data-analytics-title="develop"> <span class="ac-gn-link-text">Develop</span> </a> </li> <li class="ac-gn-item ac-gn-item-menu ac-gn-distribute"> <a class="ac-gn-link ac-gn-link-distribute" href="/distribute/" data-analytics-title="distribute"> <span class="ac-gn-link-text">Distribute</span> </a> </li> <li class="ac-gn-item ac-gn-item-menu ac-gn-dsupport"> <a class="ac-gn-link ac-gn-link-dsupport" href="/support/" data-analytics-title="dsupport"> <span class="ac-gn-link-text">Support</span> </a> </li> <li class="ac-gn-item ac-gn-item-menu ac-gn-account"> <a class="ac-gn-link ac-gn-link-account" href="/account/" data-analytics-title="account"> <span class="ac-gn-link-text">Account</span> </a> </li> <li class="ac-gn-item ac-gn-item-menu ac-gn-search" role="search"> <a id="ac-gn-link-search" class="ac-gn-link ac-gn-link-search" href="/search/" data-analytics-title="search" data-analytics-click="search" data-analytics-intrapage-link aria-label="Search"></a> </li> </ul> <aside id="ac-gn-searchview" class="ac-gn-searchview" role="search" data-analytics-region="search"> <div class="ac-gn-searchview-content"> <div class="ac-gn-searchview-bar"> <div class="ac-gn-searchview-bar-wrapper"> <form id="ac-gn-searchform" class="ac-gn-searchform" action="/search/" method="get"> <div class="ac-gn-searchform-wrapper"> <input id="ac-gn-searchform-input" class="ac-gn-searchform-input" type="text" name="q" aria-label="Search" placeholder="Search" autocorrect="off" autocapitalize="off" autocomplete="off" spellcheck="false" role="combobox" aria-autocomplete="list" aria-expanded="true" aria-owns="quicklinks suggestions" /> <button id="ac-gn-searchform-submit" class="ac-gn-searchform-submit" type="submit" disabled aria-label="Submit Search"></button> <button id="ac-gn-searchform-reset" class="ac-gn-searchform-reset" type="reset" disabled aria-label="Clear Search"> <span class="ac-gn-searchform-reset-background"></span> </button> </div> </form> <button id="ac-gn-searchview-close-small" class="ac-gn-searchview-close ac-gn-searchview-close-small" aria-label="Cancel Search"> <span class="ac-gn-searchview-close-cancel" aria-hidden="true"> Cancel </span> </button> </div> </div> <aside id="ac-gn-searchresults" class="ac-gn-searchresults hidden" data-string-quicklinks="Quick Links" data-string-suggestions="Suggested Searches" data-string-noresults=""> <section class="ac-gn-searchresults-section ac-gn-searchresults-section-defaultlinks"> <div class="ac-gn-searchresults-section-wrapper"> <div class="search-group-checkbox hidden"><input id="group-input" type="checkbox" name="group-filter" checked>Only search within “<span id="group-search-label"></span>”</div> <h3 class="ac-gn-searchresults-header ac-gn-searchresults-animated">Quick Links</h3> <ul class="ac-gn-searchresults-list" id="defaultlinks" role="listbox"> </ul> <span role="status" class="ac-gn-searchresults-count" aria-live="polite">5 Quick Links</span> </div> </section> </aside> </div> <button id="ac-gn-searchview-close" class="ac-gn-searchview-close" aria-label="Cancel Search"> <span class="ac-gn-searchview-close-wrapper"> <span class="ac-gn-searchview-close-left"></span> <span class="ac-gn-searchview-close-right"></span> </span> </button> </aside> </div> </nav> <div class="ac-gn-blur"></div> <div id="ac-gn-curtain" class="ac-gn-curtain"></div> <div id="ac-gn-placeholder" class="ac-nav-placeholder"></div> <script src="/assets/scripts/ac-globalnav.built.js?17182448067"></script> <link rel="stylesheet" href="/assets/styles/search.css?17182448067"> <script src="/assets/scripts/search.js?17182448067"></script> <!-- metrics --> <script> /* RSID: */ var s_account="awdappledeveloper" </script> <script src="/assets/metrics/scripts/analytics.js?072620243"></script> <script> s.pageName= AC && AC.Tracking && AC.Tracking.pageName(); s.channel="www.en.developer" s.channel="www.en.developer"; /************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/ var s_code=s.t();if(s_code)document.write(s_code) </script> <!-- /metrics --> <link rel="stylesheet" property="stylesheet" href="/assets/styles/localnav.css" type="text/css" /> <input type="checkbox" id="localnav-menustate" class="localnav-menustate"/> <nav id="localnav" class="localnav localnav-scrim" data-sticky role="navigation"> <div class="localnav-wrapper"> <div class="localnav-background"></div> <div class="localnav-content"> <h2 class="localnav-title"> <a href="/accessibility/">Accessibility</a> </h2> <div class="localnav-menu"> <a href="#localnav-menustate" class="localnav-menucta-anchor localnav-menucta-anchor-open" id="localnav-menustate-open"> <span class="localnav-menucta-anchor-label">Open Menu</span> </a> <a href="#" class="localnav-menucta-anchor localnav-menucta-anchor-close" id="localnav-menustate-close"> <span class="localnav-menucta-anchor-label">Close Menu</span> </a> <div class="localnav-menu-tray"> <ul class="localnav-menu-items"> <li class="localnav-menu-item"> <a href="/accessibility/" class="localnav-menu-link">Overview</a> </li> <li class="localnav-menu-item"> <a href="/accessibility/resources/" class="localnav-menu-link">Resources</a> </li> </ul> </div> <div class="localnav-actions localnav-actions"> <div class="localnav-action localnav-action-menucta" aria-hidden="true"> <label for="localnav-menustate" class="localnav-menucta"> <span class="localnav-menucta-chevron"></span> </label> </div> </div> </div> </div> </div> </nav> <label id="localnav-curtain" for="localnav-menustate"></label> <script src="/assets/scripts/ac-localnav.built.js"></script> <script type="text/javascript" src="/assets/scripts/localnav.js"></script> <main id="main" class="main" role="main"> <div class="ribbon ribbon-blue"> <div class="ribbon-drop-wrapper"> <div class="ribbon-content-wrapper"> <div class="ribbon-content row"> <div class="column large-centered large-12"> <p><a href="/videos/accessibility-inclusion/" class="ribbon-link"><span class="icon icon-after icon-playcircle">Watch the latest videos about accessibility<span class="loc-partial-sub"></span></span></a></p> </div> </div> </div> </div> </div> <section class="section section-hero bg-light"> <div class="section-content"> <div class="row"> <div class="column large-9 medium-10 small-12 large-centered"> <img class="hero center" src="/assets/elements/icons/accessibility/accessibility-128x128_2x.png" width="128" height="128" aria-hidden="true" alt="Accessibility icon" /> <h1 class="text-center">Building accessible apps</h1> <p class="intro text-center">With built-in accessibility features, accessibility APIs, and developer tools, Apple operating systems provide extraordinary opportunities to deliver high-quality experiences to everyone, including people with disabilities. Take advantage of VoiceOver — the revolutionary screen reader for blind and low-vision users — Music Haptics, Switch&nbsp;Control, Guided&nbsp;Access, Text&nbsp;to&nbsp;Speech, closed&#8209;captioned or audio&#8209;described video, and&nbsp;more.</p> </div> </div> </div> <figure class="device-macbook-pro-space-grey large-centered margin-top-small margin-bottom"> <picture class="device-screen"> <source media="(max-width:735px)" srcset="/accessibility/images/screen-accessibility-small_2x.jpg" /> <source media="(max-width:1068px)" srcset="/accessibility/images/screen-accessibility-medium_2x.jpg" /> <img src="/accessibility/images/screen-accessibility-large_2x.jpg" width="100%" alt="A MacBook Pro with Xcode, Accessibility Inspector, and Simulator windows open. Accessibility Inspector is being used to review the simulated iPhone 13 Pro app’s hierarchy." /> </picture> </figure> </section> <section class="section section-accessibility-content"> <div class="section-content"> <div class="row"> <div class="column large-3 small-12"> <ul class="sidenav-container"></ul> <script src="/assets/scripts/sidenav.built.js?17182448067"></script> </div> <div class="column large-9 small-12 overflow center"> <img src="/assets/elements/icons/stars.svg" alt="" class="icon-star" data-hires-status="pending" /> <h2 id="whats-new" data-sidenav>What’s new</h2> <p>Breakthrough features like Eye Tracking and Hover Typing on iPhone and iPad, along with new accessibility APIs like <a href="/documentation/mediaaccessibility/music-haptics">Music Haptics</a>, can help make your app more inclusive. And when integrated with existing features like Dynamic Type and VoiceOver, these enhancements make it easier than ever to deliver high-quality experiences to everyone.</p> <div class="divider-top"></div> <figure class="icon-header icon-vision"></figure> <h2 id="vision" data-sidenav>Vision</h2> <p>Apple devices include a wide variety of features and assistive technologies to support users who are blind or have low vision, such as display and text settings, screen and cursor magnification, a full-featured screen reader, and much&nbsp;more.</p> <p><a href="/documentation/accessibility/vision/" class="more">Learn more about Vision</a></p> <div class="callout"> <div class="row-full justify-content-spaceevenly"> <div class="column medium-12"> <picture> <img src="/accessibility/images/icons/voiceover-large_2x.png" class="icon-accessibility" width="100%" alt="" /> </picture> </div> <div class="column large-10 medium-12"> <h3 id="voice-over-vision" data-sidenav="VoiceOver">VoiceOver</h3> <p>VoiceOver is a screen reader that enables people to experience an app’s interface without having to see the screen. With touch gestures on iOS and iPadOS, keyboard buttons on macOS, and remote buttons on tvOS, VoiceOver users can move through your app’s UI in reading order, from the top of the screen to the bottom, and receive descriptions in over 60 languages and locales of UI controls, text, and images audibly or in&nbsp;braille.</p> <ul class="links small margin-top-small"> <li class="document"><a href="/documentation/accessibility/voiceover/">Learn more about VoiceOver</a><span class="loc-en-only"></span></li> <li class="document"><a href="/documentation/accessibility/supporting_voiceover_in_your_app/">Supporting VoiceOver in your&nbsp;app<span class="loc-en-only"></span></a></li> <li class="document"><a href="/news/?id=s0tca9uk">Challenge: VoiceOver maze<span class="loc-cj"></span></a></li> <li class="document"><a href="/design/human-interface-guidelines/accessibility#VoiceOver">Human Interface Guidelines<span class="loc-en-only"></span></a></li> </ul> <p class="typography-subbody margin-top-small">iOS, iPadOS, macOS, tvOS, watchOS</p> </div> </div> </div> <div class="callout"> <div class="row-full justify-content-spaceevenly"> <div class="column medium-12"> <picture> <img src="/accessibility/images/icons/dim-lighting-large_2x.png" class="icon-accessibility" width="100%" alt="" /> </picture> </div> <div class="column large-10 medium-12"> <h3 id="dim-flashing-lights" data-sidenav="Dim Flashing Lights">Dim Flashing Lights</h3> <p>Dim Flashing Lights is a setting that allows people to indicate that they want to avoid bright, frequent flashes of light in video. When someone enables this setting on an Apple device, the device automatically dims video when flashes or strobe effects are detected. Use the Media Accessibility API to check if someone has chosen to dim flashing lights on their Apple device. If you work with media content outside of Apple platforms, learn about the science behind reducing flashing lights in video content to create an enjoyable media-viewing experience for everyone.</p> <ul class="links small margin-top-small"> <li class="download"><a href="/accessibility/downloads/Video-Flashing-Reduction-12.epub" download="Video-Flashing-Reduction-12.epub">Video flashing reduction technical summary (EPUB)<span class="loc-en-only"></span></a></li> <li class="download"><a href="/accessibility/downloads/Video-Flashing-Reduction-12.pdf">Video flashing reduction technical summary (PDF)<span class="loc-en-only"></span></a></li> <li class="document"><a href="/documentation/mediaaccessibility/flashing_lights/">Flashing lights API<span class="loc-en-only"></span></a></li> <li class="sample-code"><a href="https://github.com/apple/VideoFlashingReduction/" target="_blank" rel="noreferrer">Sample code: Detection of flashing lights in video content<span class="loc-en-only"></span></a></li> <li class="sample-code"><a href="/documentation/mediaaccessibility/flashing_lights/responding_to_changes_in_the_flashing_lights_setting">Sample code: Responding to changes in the flashing lights setting<span class="loc-en-only"></span></a></li> </ul> <p class="typography-subbody margin-top-small">iOS, iPadOS, macOS, tvOS</p> </div> </div> </div> <div class="callout"> <div class="row-full justify-content-spaceevenly"> <div class="column medium-12"> <picture> <img src="/accessibility/images/icons/spoken-content-large_2x.png" class="icon-accessibility" width="100%" alt="" /> </picture> </div> <div class="column large-10 medium-12"> <h3 id="voice-over-speech" data-sidenav="Speech">Speech</h3> <p>Apple’s devices can read selected text from your app out loud in over 60 languages and locales, and you can adjust the voice’s dialect and speaking rate. The AVSpeechSynthesizer class produces synthesized speech from text on a device, and provides methods for controlling or monitoring the progress of ongoing&nbsp;speech.</p> <ul class="links small margin-top-small"> <li class="document"><a href="/documentation/accessibility/speech/">Learn more about Speech</a><li> <li class="document"><a href="/documentation/avfoundation/speech_synthesis/">Speech Synthesis<span class="loc-en-only"></span></a></li> <li class="video"><a href="/videos/play/wwdc2020/10022/">Create a seamless speech experience in your apps<span class="loc-cj-sub"></span></a></li> <li class="document"><a href="/documentation/avfaudio/avspeechsynthesizer/">Create custom speech synthesizers<span class="loc-en-only"></span></a></li> </ul> <p class="typography-subbody margin-top-small">iOS, iPadOS, macOS, tvOS, watchOS</p> </div> </div> </div> <div class="callout"> <div class="row-full justify-content-spaceevenly"> <div class="column medium-12"> <picture> <img src="/accessibility/images/icons/display-accommodations-large_2x.png" class="icon-accessibility" width="100%" alt="" /> </picture> </div> <div class="column large-10 medium-12"> <h3 id="dynamic-type" data-sidenav="Dynamic Type">Dynamic Type</h3> <p>Dynamic&nbsp;Type allows users to choose the text size of content displayed on the screen for better readability. It also accommodates those who can read smaller text, allowing more information to appear on the screen. Apps that support Dynamic&nbsp;Type also provide a more consistent reading&nbsp;experience.</p> <ul class="links small margin-top-small"> <li class="video"><a href="/videos/play/wwdc2024/10074/">Get started with Dynamic Type</a> <li class="document"><a href="/documentation/uikit/uifont/scaling_fonts_automatically/">Scaling fonts automatically<span class="loc-en-only"></span></a></li> <li class="document"><a href="/documentation/swiftui/applying-custom-fonts-to-text/">Applying custom fonts to text<span class="loc-en-only"></span></a></li> <li class="document"><a href="/design/human-interface-guidelines/accessibility#Text-display">Human Interface Guidelines<span class="loc-en-only"></span></a></li> </ul> <p class="typography-subbody margin-top-small">iOS, iPadOS, watchOS</p> </div> </div> </div> <div class="callout"> <div class="row-full justify-content-spaceevenly"> <div class="column medium-12"> <picture> <img src="/accessibility/images/icons/display-accommodations-large_2x.png" class="icon-accessibility" width="100%" alt="" /> </picture> </div> <div class="column large-10 medium-12"> <h3 id="display-customization-vision" data-sidenav="Display customization">Display customization</h3> <p>There are a range of features to customize the display, including Bold&nbsp;Text, Increase&nbsp;Contrast, Reduce&nbsp;Transparency, Smart&nbsp;Invert, Differentiate&nbsp;Without&nbsp;Color, On/Off&nbsp;Labels, Button&nbsp;Shapes, Dark&nbsp;Mode, and Reduce&nbsp;Motion. Use UIAccessibility&nbsp;APIs to detect when these settings are enabled so that your app behaves correctly.</p> <ul class="links small margin-top-small"> <li class="video"><a href="/videos/play/wwdc2020/10020/">Make your app visually accessible<span class="loc-cj-sub"></span></a></li> <li class="document"><a href="/design/human-interface-guidelines/accessibility#Color-and-effects">Human Interface Guidelines<span class="loc-en-only"></span></a></li> </ul> <p class="typography-subbody margin-top-small">iOS, iPadOS, macOS, tvOS, watchOS</p> </div> </div> </div> <div class="callout"> <div class="row-full justify-content-spaceevenly"> <div class="column medium-12"> <picture> <img src="/accessibility/images/icons/audio-descriptions-large_2x.png" class="icon-accessibility" width="100%" alt="" /> </picture> </div> <div class="column large-10 medium-12"> <h3 id="audio-descriptions-vision" data-sidenav="Audio descriptions">Audio descriptions and&nbsp;captions</h3> <p>Let people watch movies with detailed audio descriptions of every scene on iPhone, iPad, Mac, Apple&nbsp;TV, or iPod&nbsp;touch. Use AVFoundation with built-in support for captioning and audio descriptions during media playback in your apps.</p> <ul class="links small margin-top-small"> <li class="document"><a href="/documentation/avfoundation/media_playback_and_selection/selecting_subtitles_and_alternative_audio_tracks/">Selecting subtitles and alternative audio tracks<span class="loc-en-only"></span></a></li> <li class="document"><a href="/documentation/avfoundation/media_assets_and_metadata/caption_authoring/">Caption authoring<span class="loc-en-only"></span></a></li> <li class="document"><a href="/documentation/mediaaccessibility/">Media accessibility<span class="loc-en-only"></span></a></li> </ul> <p class="typography-subbody margin-top-small">iOS, iPadOS, macOS, tvOS</p> </div> </div> </div> <div class="divider-top"></div> <figure class="icon-header icon-mobility"></figure> <h2 id="mobility" data-sidenav="Mobility">Mobility</h2> <p>Apple has multiple solutions that help users with limited physical or motor abilities use your apps. Both Voice&nbsp;Control and Switch&nbsp;Control use the accessibility hierarchy to interact with elements within your app.</p> <p><a href="/documentation/accessibility/mobility/" class="more">Learn more about Mobility</a></p> <div class="callout"> <div class="row-full justify-content-spaceevenly"> <div class="column medium-12"> <picture> <img src="/accessibility/images/icons/voice-control-large_2x.png" class="icon-accessibility" width="100%" alt="" /> </picture> </div> <div class="column large-10 medium-12"> <h3 id="voice-control-mobility" data-sidenav="Voice Control">Voice Control</h3> <p>If your app uses accessibility APIs, Voice&nbsp;Control users can navigate your app’s interface using just their voice. Commands like “click,” “swipe,” and “tap” allow them to interact with elements within your app through the APIs.</p> <ul class="links small margin-top-small"> <li class="document"><a href="/documentation/accessibility/voice-control">Learn more about Voice&nbsp;Control</a><span class="loc-en-only"></span></li> <li class="document"> <a href="/news/?id=4dcwl3iv">Challenge: Voice&nbsp;Control synonyms<span class="loc-cj"></span></a> </li> </ul> <p class="typography-subbody margin-top-small">iOS, iPadOS, macOS</p> </div> </div> </div> <div class="callout"> <div class="row-full justify-content-spaceevenly"> <div class="column medium-12"> <picture> <img src="/accessibility/images/icons/switch-control-large_2x.png" class="icon-accessibility" width="100%" alt="" /> </picture> </div> <div class="column large-10 medium-12"> <h3 id="switch-control-mobility" data-sidenav="Switch Control">Switch Control</h3> <p>With Switch&nbsp;Control, users can navigate your app’s interface using a variety of adaptive devices, such as a switch, joystick, keyboard Space bar, or trackpad. They can navigate your app by scanning through each UI item, either by manually activating their switch or auto scanning the interface. Once the desired item is reached, users can perform the appropriate action with their device. To provide a great experience, make sure to use accessibility&nbsp;APIs.</p> <ul class="links small margin-top-small"> <li class="document"><a href="/documentation/accessibility/switch-control/">Learn more about Switch&nbsp;Control</a><span class="loc-en-only"></span></li> <li class="video"> <a href="/videos/play/wwdc2020/10019/">App accessibility for Switch&nbsp;Control<span class="loc-cj-sub"></span></a> </li> </ul> <p class="typography-subbody margin-top-small">iOS, iPadOS, macOS, tvOS</p> </div> </div> </div> <div class="callout"> <div class="row-full justify-content-spaceevenly"> <div class="column medium-12"> <picture> <img src="/accessibility/images/icons/accessibility-keyboard-large_2x.png" class="icon-accessibility" width="100%" alt="" /> </picture> </div> <div class="column large-10 medium-12"> <h3 id="keyboard-support-mobility" data-sidenav="Keyboard support">Keyboard support</h3> <p>Provide keyboard shortcuts so that people who don’t navigate using a mouse due to limited motor skills can still fully access your app’s features.</p> <p class="margin-top-small"><b>macOS</b></p> <ul class="links small margin-bottom-small"> <li class="document"><a href="/documentation/appkit/mouse_keyboard_and_trackpad/">Mouse, keyboard, and trackpad<span class="loc-en-only"></span></a></li> <li class="document"><a href="/design/human-interface-guidelines/inputs/keyboards">Human Interface Guidelines<span class="loc-en-only"></span></a></li> </ul> <p><b>iOS, iPadOS, tvOS, watchOS</b></p> <ul class="links small margin-bottom-small"> <li class="video"><a href="/videos/play/wwdc2021/10120/">Support Full Keyboard Access in your iOS app<span class="loc-cj-sub"></span></a></li> <li class="video"><a href="/videos/play/wwdc2020/10109/">Support hardware keyboards in your app<span class="loc-cj-sub"></span></a></li> <li class="document"><a href="/documentation/uikit/keyboards_and_input/adding_hardware_keyboard_support_to_your_app/">Adding hardware keyboard support to your app<span class="loc-en-only"></span></a></li> </ul> </div> </div> </div> <div class="callout"> <div class="row-full justify-content-spaceevenly"> <div class="column medium-12"> <picture> <img src="/accessibility/images/icons/assistive-touch-large_2x.png" class="icon-accessibility" width="100%" alt="" /> </picture> </div> <div class="column large-10 medium-12"> <h3 id="haptics-mobility" data-sidenav="Haptics">Haptics</h3> <p>Haptic feedback on Apple&nbsp;Watch can provide valuable information to everyone, but it can be particularly useful to those with a range of disabilities. With access to the Taptic Engine, you can add haptic feedback in your apps.</p> <ul class="links small margin-top-small"> <li class="document"><a href="/documentation/corehaptics/preparing_your_app_to_play_haptics/">Preparing your app to play haptics<span class="loc-en-only"></span></a></li> <li class="document"><a href="/documentation/corehaptics/">Core Haptics<span class="loc-en-only"></span></a></li> <li class="document"><a href="/design/human-interface-guidelines/playing-haptics">Human Interface Guidelines<span class="loc-en-only"></span></a></li> </ul> <p class="typography-subbody margin-top-small">iOS, iPadOS, macOS, tvOS, watchOS</p> </div> </div> </div> <div class="callout"> <div class="row-full justify-content-spaceevenly"> <div class="column medium-12"> <picture> <img src="/accessibility/images/icons/assistive-touch-large_2x.png" class="icon-accessibility" width="100%" alt="" /> </picture> </div> <div class="column large-10 medium-12"> <h3 id="quick-actions" data-sidenav="Quick Actions">Quick Actions</h3> <p>Quick&nbsp;Actions in watchOS&nbsp;9 let people quickly perform common tasks within your app. When your app uses the Quick&nbsp;Actions&nbsp;API, people can assign an action and activate that action with a double-pinch gesture. For example, with Quick&nbsp;Actions built into Apple&nbsp;Watch, users can:</p> <ul class="margin-bottom-small"> <li>Answer and end a phone call.</li> <li>Dismiss a notification.</li> <li>Take a photo.</li> <li>Pause and resume an active workout.</li> </ul> <ul class="links small margin-top-small"> <li class="document"> <a href="/documentation/swiftui/view/accessibilityquickaction(style:content:)/">Learn about Quick&nbsp;Actions<span class="loc-en-only"></span></a> </li> </ul> <p class="typography-subbody margin-top-small">watchOS</p> </div> </div> </div> <div class="divider-top"></div> <figure class="icon-header icon-hearing"></figure> <h2 id="hearing" data-sidenav="Hearing">Hearing</h2> <p>Apple accessibility technologies contain multiple features to accommodate people who are deaf or hard of hearing, including captions, system&nbsp;translation, Made&nbsp;For&nbsp;iPhone&nbsp;(MFi) hearing&nbsp;aid&nbsp;support, sound&nbsp;recognition, and background&nbsp;sounds.</p> <p><a href="/documentation/accessibility/hearing/" class="more">Learn more about Hearing</a></p> <div class="callout"> <div class="row-full justify-content-spaceevenly"> <div class="column medium-12"> <picture> <img src="/accessibility/images/icons/closed-captions-large_2x.png" class="icon-accessibility" width="100%" alt="" /> </picture> </div> <div class="column large-10 medium-12"> <h3 id="captions-hearing" data-sidenav="Captions">Captions</h3> <p>Let people watch movies with closed captions or subtitles for the deaf and hard of hearing (SDH) for all audio in every scene on iPhone, iPad, Mac, and Apple&nbsp;TV. Use AVFoundation with built-in support for captioning during media playback in your apps.</p> <ul class="links small margin-top-small"> <li class="document"><a href="/documentation/avfoundation/media_assets_and_metadata/caption_authoring/">Caption authoring<span class="loc-en-only"></span></a></li> <li class="document"><a href="/documentation/mediaaccessibility/">Media accessibility<span class="loc-en-only"></span></a></li> </ul> <p class="typography-subbody margin-top-small">iOS, iPadOS, macOS, tvOS</p> </div> </div> </div> <div class="callout"> <div class="row-full justify-content-spaceevenly"> <div class="column medium-12"> <picture> <img src="/accessibility/images/icons/live-listen-large_2x.png" class="icon-accessibility" width="100%" alt="" /> </picture> </div> <div class="column large-10 medium-12"> <h3 id="hearing-devices" data-sidenav="Made for iPhone hearing devices">Hearing devices</h3> <p>Top manufacturers have created hearing aids and sound processors designed specifically for iPhone and iPad. These advanced hearing devices provide outstanding sound quality, offer many helpful features, and are as easy to set up and use as any other Bluetooth device.</p> <p>People can instantly apply their audiologist’s suggested environmental presets as they go outdoors or enter noisy locations, such as restaurants, without having to rely on additional remotes. If you’re a hearing&nbsp;aid manufacturer and want to make your devices compatible with Apple devices, consult the resources below.</p> <ul class="links small margin-top-small"> <li class="document"><a href="https://mfi.apple.com/">Learn about the MFi&nbsp;Program<span class="loc-en-only"></span></a></li> <li class="document"><a href="/documentation/accessibility/hearing_device_support/">Hearing device support<span class="loc-en-only"></span></a></li> </ul> <p class="typography-subbody margin-top-small">iOS, iPadOS</p> </div> </div> </div> <div class="divider-top"></div> <figure class="icon-header icon-cognitive"></figure> <h2 id="Cognitive" data-sidenav="Cognitive">Cognitive</h2> <p>Apple products contain many technologies that can fit the different ways users learn or communicate, including Guided&nbsp;Access, captions, and word&nbsp;prediction.</p> <p><a href="/documentation/accessibility/cognitive/" class="more">Learn more about Cognitive</a></p> <div class="callout"> <div class="row-full justify-content-spaceevenly"> <div class="column medium-12"> <picture> <img src="/accessibility/images/icons/assistive-access_2x.png" class="icon-assistive-access" width="100%" alt="" /> </picture> </div> <div class="column large-10 medium-12"> <h3 id="assistive-access" data-sidenav="Assistive Access">Assistive Access</h3> <p>Assistive Access, a game-changing new feature, makes technology — and your apps — more accessible to users with cognitive disabilities on iPhone and iPad. Cutting-edge advancements in speech synthesis let you create even more custom experiences.</p> <ul class="links small margin-top-small"> <li class="document"><a href="/documentation/accessibility/assistive-access/">Learn more about Assistive Access</a><span class="loc-en-only"></span></li> </ul> <p class="typography-subbody margin-top-small">iOS, iPadOS, macOS, tvOS</p> </div> </div> </div> <div class="callout"> <div class="row-full justify-content-spaceevenly"> <div class="column medium-12"> <picture> <img src="/accessibility/images/icons/guided-access-large_2x.png" class="icon-accessibility" width="100%" alt="" /> </picture> </div> <div class="column large-10 medium-12"> <h3 id="guided-access" data-sidenav="Guided Access">Guided Access</h3> <p>Guided&nbsp;Access helps people with autism or other attention and sensory challenges stay focused on the task at hand. Implementing the Guided&nbsp;Access protocol in your app lets you specify which parts of your apps are functional, depending on the user’s needs.</p> <ul class="links small margin-top-small"> <li class="document"> <a href="/documentation/uikit/uiguidedaccessrestrictiondelegate/">UIGuidedAccessRestrictionDelegate protocol<span class="loc-en-only"></span></a> </li> <li class="video"><a href="/videos/play/wwdc2022/10152/">Create accessible Single&nbsp;App&nbsp;Mode experiences<span class="loc-apac-sub"></span></a></li> </ul> <p class="typography-subbody margin-top-small">iOS, iPadOS, macOS, tvOS</p> </div> </div> </div> </div> </div> </div> </section> <section class="section section-resources bg-light"> <div class="section-content"> <div class="row"> <div class="column large-centered large-8 medium-10 small-12 text-center"> <img class="hero-icon center" src="/assets/elements/icons/accessibility-inspector/accessibility-inspector-96x96_2x.png" width="96" alt="" /> <h2 class="typography-subsection-headline">Resources</h2> <p>Learn how to build accessible apps with Apple developer tools, documentation, videos, and sample&nbsp;code.</p> <p><a href="/accessibility/resources/" class="more">View resources</a></p> </div> </div> </div> </section> </main> <script> function offsetAnchor() { if (location.hash.length !== 0) { window.scrollTo(window.scrollX, window.scrollY - 65); } } $(document).on("click", 'a[href^="#"]', function (event) { window.setTimeout(function () { offsetAnchor(); }, 0); }); window.setTimeout(offsetAnchor, 0); window.addEventListener('load', () => { offsetAnchor() }) </script> <link rel="stylesheet" href="/assets/styles/footer.dist.css?17182448067"> <footer id="footer" class="footer" role="contentinfo" aria-labelledby="footer-label"> <div class="footer-content"> <h2 class="footer-label" id="footer-label">Developer Footer</h2> <developer-breadcrumbs> <li>Accessibility</li> </developer-breadcrumbs> <nav class="footer-directory" aria-label="Apple Developer Directory" role="navigation"> <!--googleoff: all--> <div class="footer-directory-column"> <input class="footer-directory-column-section-state" type="checkbox" id="footer-directory-column-section-state-platform" /> <div class="footer-directory-column-section"> <label class="footer-directory-column-section-label" for="footer-directory-column-section-state-platform"> <h3 class="footer-directory-column-section-title">Platforms</h3> </label> <a href="#footer-directory-column-section-state-platform" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-open"> <span class="footer-directory-column-section-anchor-label">Open Menu</span> </a> <a href="#" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-close"> <span class="footer-directory-column-section-anchor-label">Close Menu</span> </a> <ul class="footer-directory-column-section-list"> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/ios/">iOS</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/ipados/">iPadOS</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/macos/">macOS</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/tvos/">tvOS</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/visionos/">visionOS</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/watchos/">watchOS</a></li> </ul> </div> <input class="footer-directory-column-section-state" type="checkbox" id="footer-directory-column-section-state-tools" /> <div class="footer-directory-column-section"> <label class="footer-directory-column-section-label" for="footer-directory-column-section-state-tools"> <h3 class="footer-directory-column-section-title">Tools</h3> </label> <a href="#footer-directory-column-section-state-tools" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-open"> <span class="footer-directory-column-section-anchor-label">Open Menu</span> </a> <a href="#" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-close"> <span class="footer-directory-column-section-anchor-label">Close Menu</span> </a> <ul class="footer-directory-column-section-list"> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/swift/">Swift</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/swiftui/">SwiftUI</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/swift-playgrounds/">Swift Playgrounds</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/testflight/">TestFlight</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/xcode/">Xcode</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/xcode-cloud/">Xcode Cloud</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/sf-symbols/">SF Symbols</a></li> </ul> </div> </div> <div class="footer-directory-column"> <input class="footer-directory-column-section-state" type="checkbox" id="footer-directory-column-section-state-topics" /> <div class="footer-directory-column-section"> <label class="footer-directory-column-section-label" for="footer-directory-column-section-state-topics"> <h3 class="footer-directory-column-section-title">Topics &amp; Technologies</h3> </label> <a href="#footer-directory-column-section-state-topics" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-open"> <span class="footer-directory-column-section-anchor-label">Open Menu</span> </a> <a href="#" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-close"> <span class="footer-directory-column-section-anchor-label">Close Menu</span> </a> <ul class="footer-directory-column-section-list"> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/accessibility/">Accessibility</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/accessories/">Accessories</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/app-extensions/">App Extensions</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/app-store/">App Store</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/audio/">Audio &amp; Video</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/augmented-reality/">Augmented Reality</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/design/">Design</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/distribute/">Distribution</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/education/">Education</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/fonts/">Fonts</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/games/">Games</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/health-fitness/">Health &amp; Fitness</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/in-app-purchase/">In-App Purchase</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/localization/">Localization</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/maps/">Maps &amp; Location</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/machine-learning/">Machine Learning</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="https://opensource.apple.com">Open Source</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/security/">Security</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/safari/">Safari &amp; Web</a></li> </ul> </div> </div> <div class="footer-directory-column"> <input class="footer-directory-column-section-state" type="checkbox" id="footer-directory-column-section-state-resources" /> <div class="footer-directory-column-section"> <label class="footer-directory-column-section-label" for="footer-directory-column-section-state-resources"> <h3 class="footer-directory-column-section-title">Resources</h3> </label> <a href="#footer-directory-column-section-state-resources" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-open"> <span class="footer-directory-column-section-anchor-label">Open Menu</span> </a> <a href="#" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-close"> <span class="footer-directory-column-section-anchor-label">Close Menu</span> </a> <ul class="footer-directory-column-section-list"> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/documentation/">Documentation</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/learn/">Tutorials</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/download/">Downloads</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/forums/">Forums</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/videos/">Videos</a></li> </ul> </div> <input class="footer-directory-column-section-state" type="checkbox" id="footer-directory-column-section-state-support" /> <div class="footer-directory-column-section"> <label class="footer-directory-column-section-label" for="footer-directory-column-section-state-support"> <h3 class="footer-directory-column-section-title">Support</h3> </label> <a href="#footer-directory-column-section-state-support" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-open"> <span class="footer-directory-column-section-anchor-label">Open Menu</span> </a> <a href="#" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-close"> <span class="footer-directory-column-section-anchor-label">Close Menu</span> </a> <ul class="footer-directory-column-section-list"> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/support/articles/">Support Articles</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/contact/">Contact Us</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/bug-reporting/">Bug Reporting</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/system-status/">System Status</a></li> </ul> </div> <input class="footer-directory-column-section-state" type="checkbox" id="footer-directory-column-section-state-account" /> <div class="footer-directory-column-section"> <label class="footer-directory-column-section-label" for="footer-directory-column-section-state-account"> <h3 class="footer-directory-column-section-title">Account</h3> </label> <a href="#footer-directory-column-section-state-account" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-open"> <span class="footer-directory-column-section-anchor-label">Open Menu</span> </a> <a href="#" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-close"> <span class="footer-directory-column-section-anchor-label">Close Menu</span> </a> <ul class="footer-directory-column-section-list"> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/account/">Apple Developer</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="https://appstoreconnect.apple.com/">App Store Connect</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/account/ios/certificate/">Certificates, IDs, &amp; Profiles</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="https://feedbackassistant.apple.com/">Feedback Assistant</a></li> </ul> </div> </div> <div class="footer-directory-column"> <input class="footer-directory-column-section-state" type="checkbox" id="footer-directory-column-section-state-programs" /> <div class="footer-directory-column-section"> <label class="footer-directory-column-section-label" for="footer-directory-column-section-state-programs"> <h3 class="footer-directory-column-section-title">Programs</h3> </label> <a href="#footer-directory-column-section-state-programs" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-open"> <span class="footer-directory-column-section-anchor-label">Open Menu</span> </a> <a href="#" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-close"> <span class="footer-directory-column-section-anchor-label">Close Menu</span> </a> <ul class="footer-directory-column-section-list"> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/programs/">Apple Developer Program</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/programs/enterprise/">Apple Developer Enterprise Program</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/app-store/small-business-program/">App Store Small Business Program</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="https://mfi.apple.com/">MFi Program</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/programs/news-partner/">News Partner Program</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/programs/video-partner/">Video Partner Program</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/security-bounty/">Security Bounty Program</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/programs/security-research-device/">Security Research Device Program</a></li> </ul> </div> <input class="footer-directory-column-section-state" type="checkbox" id="footer-directory-column-section-state-events" /> <div class="footer-directory-column-section"> <label class="footer-directory-column-section-label" for="footer-directory-column-section-state-events"> <h3 class="footer-directory-column-section-title">Events</h3> </label> <a href="#footer-directory-column-section-state-events" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-open"> <span class="footer-directory-column-section-anchor-label">Open Menu</span> </a> <a href="#" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-close"> <span class="footer-directory-column-section-anchor-label">Close Menu</span> </a> <ul class="footer-directory-column-section-list"> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/events/">Meet with Apple</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/events/developer-centers/">Apple Developer Centers</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/app-store/app-store-awards/">App Store Awards</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/design/awards/">Apple Design Awards</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/academies/">Apple Developer Academies</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/entrepreneur-camp/">Entrepreneur Camp</a></li> <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/wwdc/">WWDC</a></li> </ul> </div> </div> <!--googleon: all--> </nav> <section class="footer-mini" vocab="http://schema.org/" typeof="Organization"> <div class="footer-mini-news"> <div class="copy"> Get the <a href="https://apps.apple.com/us/app/apple-developer/id640199958">Apple Developer app</a>. </div> <div class="content"> <div class="color-scheme-toggle" role="radiogroup" tabindex="0" aria-label="Select a color scheme preference"> <label data-color-scheme-option="light"> <input type="radio" value="light" autocomplete="off" onchange="window.setPreferredColorScheme(event.target.value)" /> <div class="text">Light</div> </label> <label data-color-scheme-option="dark"> <input type="radio" value="dark" autocomplete="off" onchange="window.setPreferredColorScheme(event.target.value)" /> <div class="text">Dark</div> </label> <label data-color-scheme-option="auto"> <input type="radio" value="auto" autocomplete="off" onchange="window.setPreferredColorScheme(event.target.value)" /> <div class="text">Auto</div> </label> </div> <script async src="/assets/scripts/color-scheme-toggle.js"></script> </div> </div> <link rel="stylesheet" href="/assets/styles/language-dropdown.css?17182448067"> <div class="language-dropdown dropdown-container legacy-form hidden"> <select class="dropdown" aria-label="Language Dropdown"></select> <span class="dropdown-icon icon icon-chevrondown" aria-hidden="true"></span> </div> <script src="/assets/scripts/language-dropdown.js?17182448067"></script> <div class="footer-mini-legal"> <div class="footer-mini-legal-copyright">Copyright © 2024 <a href="https://www.apple.com">Apple Inc.</a> All rights reserved.</div> <div class="footer-mini-legal-links"> <a class="footer-mini-legal-link" href="https://www.apple.com/legal/internet-services/terms/site.html" class="first">Terms of Use</a> <a class="footer-mini-legal-link" href="https://www.apple.com/legal/privacy/">Privacy Policy</a> <a class="footer-mini-legal-link" href="/support/terms/">Agreements and Guidelines</a> </div> </div> </section> </div> </footer> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10