SlideShare a Scribd company logo
iOSDevUK
4 September 2019
Jon Gibbins
.j { } Dotjay Ltd
iOSDevUK
4 September 2019
Jonny I’ve no idea why I’m doing this!
.j { } Dotjay Ltd
iOSDevUK
4 September 2019
Jonny I’ve no idea why I’m doing this!
.j { } Dotjay Ltd
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Source: Giphy
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
👨👩👧👧
👨👩👧👧 +
(age < 5)
👨👩👧👧 +
(age < 5)
+ ⏰ @ 4am
Source: Giphy
👨👩👧👧 + (age < 5) + ⏰ @
4am =
Source: Giphy
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Source: Giphy
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
accessoryView
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Application
Assistive
Technology
•
•
•
•
40
•
•
•
•
•
41
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
•
•
•
•
•
43
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
https://developer.apple.com/videos/play/wwdc2017/245/
https://developer.apple.com/videos/play/wwdc2019/244/
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
…you do
…you do
…or Google does
…you do
…or Google does
…sometimes
•
•
•
•
•
•
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Photo credits: LG, Gould, Larson, DiC, Apple
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Photo credit: Jon Gibbins with thanks to Drake Music Project
“Getting your own experience of
accessibility helps you to put
yourself in the shoes of others and
keep accessibility in mind when
building and testing your sites and
applications”
– Jon Gibbins, Nov 2007
68
Experiencing digital
accessibility using your
smartphone
https://tinyurl.com/yy7mnppu
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)
•
•
•
•
•
Thanks!

More Related Content

Recently uploaded

Wired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptxWired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
SimonedeGijt
 
Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...
Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...
Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...
simran hot girls
 
UMiami degree offer diploma Transcript
UMiami degree offer diploma TranscriptUMiami degree offer diploma Transcript
UMiami degree offer diploma Transcript
attueb
 
Russian Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service ...
Russian Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service ...Russian Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service ...
Russian Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service ...
shanihomely
 
Il Data Streaming per un’AI real-time di nuova generazione
Il Data Streaming per un’AI real-time di nuova generazioneIl Data Streaming per un’AI real-time di nuova generazione
Il Data Streaming per un’AI real-time di nuova generazione
confluent
 
AWS DevOps-Tutorial CHANAKYA SRIYAN DUKKA.
AWS DevOps-Tutorial CHANAKYA SRIYAN DUKKA.AWS DevOps-Tutorial CHANAKYA SRIYAN DUKKA.
AWS DevOps-Tutorial CHANAKYA SRIYAN DUKKA.
Srinivas Dukka
 
Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...
Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...
Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...
OnePlan Solutions
 
Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...
Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...
Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...
aslasdfmkhan4750
 
Russian Girls Call Mumbai 🛵🚡9833363713 💃 Choose Best And Top Girl Service And...
Russian Girls Call Mumbai 🛵🚡9833363713 💃 Choose Best And Top Girl Service And...Russian Girls Call Mumbai 🛵🚡9833363713 💃 Choose Best And Top Girl Service And...
Russian Girls Call Mumbai 🛵🚡9833363713 💃 Choose Best And Top Girl Service And...
dream girl
 
Predicting Test Results without Execution (FSE 2024)
Predicting Test Results without Execution (FSE 2024)Predicting Test Results without Execution (FSE 2024)
Predicting Test Results without Execution (FSE 2024)
andrehoraa
 
Top Chinese Government-backed APT Groups
Top Chinese Government-backed APT GroupsTop Chinese Government-backed APT Groups
Top Chinese Government-backed APT Groups
SOCRadar
 
VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...
VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...
VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...
jealousviolet
 
welcome to presentation on Google Apps
welcome to   presentation on Google Appswelcome to   presentation on Google Apps
welcome to presentation on Google Apps
AsifKarimJim
 
Celebrity Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Servic...
Celebrity Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Servic...Celebrity Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Servic...
Celebrity Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Servic...
45unexpected
 
SAP implementation steps PDF - Zyple Software
SAP implementation steps PDF - Zyple SoftwareSAP implementation steps PDF - Zyple Software
SAP implementation steps PDF - Zyple Software
Zyple Software
 
Girls Call Mysore 000XX00000 Provide Best And Top Girl Service And No1 in City
Girls Call Mysore 000XX00000 Provide Best And Top Girl Service And No1 in CityGirls Call Mysore 000XX00000 Provide Best And Top Girl Service And No1 in City
Girls Call Mysore 000XX00000 Provide Best And Top Girl Service And No1 in City
neshakor5152
 
Verified Girls Call Mumbai 👀 9820252231 👀 Cash Payment With Room DeliveryDeli...
Verified Girls Call Mumbai 👀 9820252231 👀 Cash Payment With Room DeliveryDeli...Verified Girls Call Mumbai 👀 9820252231 👀 Cash Payment With Room DeliveryDeli...
Verified Girls Call Mumbai 👀 9820252231 👀 Cash Payment With Room DeliveryDeli...
87tomato
 
InflectraCON 360: Risk-Based Testing for Mission Critical Systems
InflectraCON 360: Risk-Based Testing for Mission Critical SystemsInflectraCON 360: Risk-Based Testing for Mission Critical Systems
InflectraCON 360: Risk-Based Testing for Mission Critical Systems
Inflectra
 
Authentication Review-June -2024 AP & TS.pptx
Authentication Review-June -2024 AP & TS.pptxAuthentication Review-June -2024 AP & TS.pptx
Authentication Review-June -2024 AP & TS.pptx
DEMONDUOS
 
Mobile App Development Company in Noida - Drona Infotech.
Mobile App Development Company in Noida - Drona Infotech.Mobile App Development Company in Noida - Drona Infotech.
Mobile App Development Company in Noida - Drona Infotech.
Mobile App Development Company in Noida - Drona Infotech
 

Recently uploaded (20)

Wired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptxWired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
 
Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...
Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...
Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...
 
UMiami degree offer diploma Transcript
UMiami degree offer diploma TranscriptUMiami degree offer diploma Transcript
UMiami degree offer diploma Transcript
 
Russian Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service ...
Russian Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service ...Russian Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service ...
Russian Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service ...
 
Il Data Streaming per un’AI real-time di nuova generazione
Il Data Streaming per un’AI real-time di nuova generazioneIl Data Streaming per un’AI real-time di nuova generazione
Il Data Streaming per un’AI real-time di nuova generazione
 
AWS DevOps-Tutorial CHANAKYA SRIYAN DUKKA.
AWS DevOps-Tutorial CHANAKYA SRIYAN DUKKA.AWS DevOps-Tutorial CHANAKYA SRIYAN DUKKA.
AWS DevOps-Tutorial CHANAKYA SRIYAN DUKKA.
 
Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...
Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...
Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...
 
Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...
Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...
Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...
 
Russian Girls Call Mumbai 🛵🚡9833363713 💃 Choose Best And Top Girl Service And...
Russian Girls Call Mumbai 🛵🚡9833363713 💃 Choose Best And Top Girl Service And...Russian Girls Call Mumbai 🛵🚡9833363713 💃 Choose Best And Top Girl Service And...
Russian Girls Call Mumbai 🛵🚡9833363713 💃 Choose Best And Top Girl Service And...
 
Predicting Test Results without Execution (FSE 2024)
Predicting Test Results without Execution (FSE 2024)Predicting Test Results without Execution (FSE 2024)
Predicting Test Results without Execution (FSE 2024)
 
Top Chinese Government-backed APT Groups
Top Chinese Government-backed APT GroupsTop Chinese Government-backed APT Groups
Top Chinese Government-backed APT Groups
 
VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...
VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...
VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...
 
welcome to presentation on Google Apps
welcome to   presentation on Google Appswelcome to   presentation on Google Apps
welcome to presentation on Google Apps
 
Celebrity Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Servic...
Celebrity Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Servic...Celebrity Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Servic...
Celebrity Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Servic...
 
SAP implementation steps PDF - Zyple Software
SAP implementation steps PDF - Zyple SoftwareSAP implementation steps PDF - Zyple Software
SAP implementation steps PDF - Zyple Software
 
Girls Call Mysore 000XX00000 Provide Best And Top Girl Service And No1 in City
Girls Call Mysore 000XX00000 Provide Best And Top Girl Service And No1 in CityGirls Call Mysore 000XX00000 Provide Best And Top Girl Service And No1 in City
Girls Call Mysore 000XX00000 Provide Best And Top Girl Service And No1 in City
 
Verified Girls Call Mumbai 👀 9820252231 👀 Cash Payment With Room DeliveryDeli...
Verified Girls Call Mumbai 👀 9820252231 👀 Cash Payment With Room DeliveryDeli...Verified Girls Call Mumbai 👀 9820252231 👀 Cash Payment With Room DeliveryDeli...
Verified Girls Call Mumbai 👀 9820252231 👀 Cash Payment With Room DeliveryDeli...
 
InflectraCON 360: Risk-Based Testing for Mission Critical Systems
InflectraCON 360: Risk-Based Testing for Mission Critical SystemsInflectraCON 360: Risk-Based Testing for Mission Critical Systems
InflectraCON 360: Risk-Based Testing for Mission Critical Systems
 
Authentication Review-June -2024 AP & TS.pptx
Authentication Review-June -2024 AP & TS.pptxAuthentication Review-June -2024 AP & TS.pptx
Authentication Review-June -2024 AP & TS.pptx
 
Mobile App Development Company in Noida - Drona Infotech.
Mobile App Development Company in Noida - Drona Infotech.Mobile App Development Company in Noida - Drona Infotech.
Mobile App Development Company in Noida - Drona Infotech.
 

Featured

2024 Trend Updates: What Really Works In SEO & Content Marketing
2024 Trend Updates: What Really Works In SEO & Content Marketing2024 Trend Updates: What Really Works In SEO & Content Marketing
2024 Trend Updates: What Really Works In SEO & Content Marketing
Search Engine Journal
 
Storytelling For The Web: Integrate Storytelling in your Design Process
Storytelling For The Web: Integrate Storytelling in your Design ProcessStorytelling For The Web: Integrate Storytelling in your Design Process
Storytelling For The Web: Integrate Storytelling in your Design Process
Chiara Aliotta
 
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
OECD Directorate for Financial and Enterprise Affairs
 
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
SocialHRCamp
 
2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
 

Featured (20)

2024 Trend Updates: What Really Works In SEO & Content Marketing
2024 Trend Updates: What Really Works In SEO & Content Marketing2024 Trend Updates: What Really Works In SEO & Content Marketing
2024 Trend Updates: What Really Works In SEO & Content Marketing
 
Storytelling For The Web: Integrate Storytelling in your Design Process
Storytelling For The Web: Integrate Storytelling in your Design ProcessStorytelling For The Web: Integrate Storytelling in your Design Process
Storytelling For The Web: Integrate Storytelling in your Design Process
 
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
 
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
 
2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 

Advanced (Undocumented) iOS accessibility techniques (iOSDevUK, September 2019)

Editor's Notes

  1. I’m a digital accessibility consultant on web and mobile. My name is Jon Gibbins.
  2. Except I’ve changed my name to… Jonny I’ve no idea why I’m doing this!
  3. And I’ve decided I can equally rename this talk: “Undocumented iOS accessibility techniques” (which actually takes the pressure off a bit compared to “Advanced iOS accessibility techniques”)
  4. Who loves working with iOS?
  5. Who hates working with iOS? …I’m hoping for some honest people who raise their hands to both of those questions.
  6. Who has done some level of coding for accessibility?
  7. I’m up here on stage and I’m accessibility angel, right?
  8. Well, I’ve got a confession to make.
  9. I’m always saying, “accessibility is easy.”
  10. But when I’m trying to get the accessibility techniques I know work to work
  11. I find myself swearing at my computer
  12. And I have 2 beautiful little female humans back home…
  13. …under the age of 5…
  14. …who like to wake me up at some unholy hour…
  15. …so I’m like kinda sleepy…
  16. …but I’m in the zone… …and then…
  17. Boom!
  18. And I throw my computer across the room!
  19. Sometimes accessibility is frustrating even for me.
  20. This talk is a bit intimidating for me. You guys are all iOS devs.
  21. I am not an iOS developer. I have developed on several platforms, Web mainly. But I'm an accessibility nerd. And have worked with iOS code since version 6. I’ve done a lot of app testing with accessibility features. By the time I get to an app is typically too late in the day. Clients tend to want accessibility tested and not baked into their process. And they tend to not let you at their codebase. I mostly see your app as a black box making it difficult to debug and diagnose issues. So my work is often exploratory. Sometimes it's guess work.
  22. But I’m here to say that accessibility is easy… …in theory.
  23. It's the implementation that can be frustrating. Because it's not well documented. WWDC videos are great, practical sources on iOS accessibility information. But the platform evolves. The advice and code examples goes out of date.
  24. I can’t go much further without talking about SwiftUI. As Rob said in his talk: SwiftUI will bring improvements to the accessibility baseline of your apps. What I'm going to talk about is UIKit. So it will go somewhat out of date once SwiftUI becomes the norm in the coming years. But I’m certain we'll still see some of the same problems we've seen in accessibility for decades. Because I feel like accessibility is still quite “opt in” in SwiftUI. “You can do it doesn't mean you do it” Accessibility often gets forgotten about. I hope Rob's right about SwiftUI making accessibility easier to implement and that we will see improvements.
  25. Seen loads of talks cover the basics so I won’t dwell on them. accessibilityLabel Traits To cover just a few common issues…
  26. Missing accessibilityLabel accessibilityLabel classes as “you can do it doesn't mean you do it” Inappropriate accessibilityLabel You can still describe an image button instead of using a verb. So to borrow Rob’s example from this morning: Setting a label of “heart” instead of “like”.
  27. Missing or incorrect accessibilityTraits Setting user’s expectations of your UI behaviours, state information, etc. Related to this: Making images as “decorative“ is another “you can do it doesn't mean you do it”
  28. Hidden elements receiving focus If off-screen elements are receiving focus, check: isAccessibilityElement layoutChangedNotification screenChangedNotification
  29. Poor focus management This one can be tricky, but this first things to check are… If focus does not move to a new screen, likely that a screen changed notification has not been fired. If focus does not move to a modal, likely that a layout changed notification has not been fired.
  30. Moving on from those basics, though. I’ve chosen a few of the most quirky implementations and techniques I've worked on. Stuff that’s either poorly documented or are not obvious where accessibility is concerned. I won’t have time today to live code everything, but I'll try to do some.
  31. Let’s start with an easy example: UISwitch
  32. I see custom switches like this occasionally. UISwitch is designed to work together with UITableViewCell. Without the TableViewCell, it’s hard to make accessible, but not impossible.
  33. You start with a switch…
  34. …and you add a label. But that’s not enough to make it work…
  35. …you set the switch as the UITableViewCell’s accessoryView.
  36. Much like the anatomy of an HTML checkbox. When this is done, the control provides several accessibility enhancements automatically: 1. The row's label text (or accessibilityLabel property) is associated with the UISwitch. 2. The whole row becomes a tappable area, rather than just the UISwitch frame. 3. The on/off state of the switch is conveyed to VoiceOver. This also establishes a standard layout for switch controls, where the UISwitch is positioned to the right hand side of the label text, which helps to avoid confusion for users. Rob mentioned the idea of Semantic Views this morning. This is an example of a single accessibility element being responsible for communicating accessibility information of multiple UI elements.
  37. Many basic issues come down to a lack of understanding of accessibility foundations.
  38. A dialog takes place between an application and assistive technology.
  39. Apple sometimes refer to this as the Accessibility User Interface.
  40. Since role / state is handled by the standard UIKit components, ensuring appropriate accessibilityLabel properties are set is the main bulk of the work.
  41. accessibilityElements can be used to reorder elements within an accessibility container view, or to completely customise the experience for users of accessibility features. accessibilityFrame has its quirks and operates better as a method override than a property that you set.
  42. There are some confusing recommendations in the iOS Human Interface Guidelines. For example, they suggest that using accessibilityHint is adequate for labelling fields, but relying on hint alone presents accessibility issues. In Apple’s own apps, UIAlertView tends to be used for errors. Designers tend not to like that, so error strings appear on the screen next to fields (like with Apple Pay) where they tend not to be easy for VoiceOver users to identify and understand because they haven’t been coded with accessibility in mind.
  43. 1. Initial awareness Ensure user is immediately aware there is a message. This may be visually indicated using a message that is out of context. This can be made accessible using UIAccessibility.Notification.announcement. 2. Form error summary When a user reaches a form, it is helpful to summarily indicate that there are errors in the form. Depending on the length of the form, this may be as simple as informing the user of the number of errors, or as much as a list of the errors. For short forms of just a few fields, this is unnecessary. 3. Form control error state Each individual form control must indicate that it is in an error state and clearly inform the user what the error is in text by appending it to the accessibilityLabel.
  44. For websites, you are encouraged to use an aria-describedby relationship to connect error message text to a form control so that assistive software knows to connect these UI elements. In iOS, this relationship is most akin to accessibilityHint. However, hints can be switched off by users, so do not rely on them for essential information or messages.
  45. Don’t just be the accessibility person Shared responsibility Raise awareness Teach Learn
  46. Think about accessibility as early as possible Bake it into your process, wireframes, etc. Fix accessibility before it hits the screens Documenting accessibility as you go will help future iterations Accessibility more likely to: get baked into prototypes persist through development make it into production at an acceptable level
  47. Accessibility in continuous integration: code linting, checks as part of release procedures, etc. BS 8878 Not a set of development guidelines Project management roadmap for ensuring that web products are built in an accessible way
  48. I think disability is difficult for some people to think or talk about. I think this is down to poor understanding, social stigmas, lack of experience.
  49. You know your work better than I do. You understand the context better than I do. You are better placed to find solutions. I can guide you, but it’s better if you can teach yourself.
  50. When I started as an engineer in the late 90s, my mentor told me that being an engineer was not about knowing everything. It’s about knowing what to look up and where.
  51. As I said, some things are not well documented. (Which I hope to change soon!)
  52. Solutions are contextual – accessibility is contextual. Context is King, especially on mobile. It’s not necessarily about what you know; it’s about knowing what to look up and where.
  53. Why is getting your own experience important? Passionate about accessibility – why? I don’t have a disability as such (wears glasses, APD, bad back) Let me tell you the story of my journey to working with accessibility in mind
  54. Jon’s earliest experience of “geek” Smart watches / phones: Jon first saw these in a book in the 80s and thought, “Woah, that’s pretty cool!” Technology is cool! But also enabling! LG watch phone: 1.3 inch full touch screen, 3G+ connectivity, video call capabilities, Voice recognition software, Bluetooth v2.1 with A2DP, MP3 player.
  55. Jon’s first experience of accessibility – a talking clock used by his blind mother.
  56. Jon has a passion for music. He plays guitar, sings, writes songs… At university, he got to work with disabled musicians to develop accessible music composition and performance software. The point is that we need to think outside the box a little. We need to find ways to empathise.
  57. November 2007 Started assembling my accessibility video tour. Needs updating, but still helpful to understand how the technology is used. https://lab.dotjay.com/notes/assistive-technology/videos/
  58. After all, digital technology should be for everyone.
  59. Check out my talk at Bristol ID&D in June 2019 for more on this.
  60. Questions?
  61. I have free copies of the Mobile Developer’s Guide to the Galaxy to give away.