- عنوان کتاب: Developing Inclusive Mobile Apps Building Accessible Apps for iOS and Android
- نویسنده: Rob Whitaker
- حوزه: برنامهنویسی موبایل
- سال انتشار: 2026
- تعداد صفحه: 338
- زبان اصلی: انگلیسی
- نوع فایل: pdf
- حجم فایل: 11.0 مگابایت
دسترسیپذیری و شمول در هم تنیده شدهاند. شمول به معنای ایجاد تجربیاتی است که برای حداکثر تعداد افراد ممکن خوشایند باشد. دسترسیپذیری – عملی که برنامه شما را برای افراد با نیازهای متنوع قابل استفاده میکند – بخشی از ساخت نرمافزاری است که منجر به یک تجربه فراگیر میشود. در فصل 1، پیشینهای در مورد دسترسیپذیری، تاریخچه آن و دلیل اهمیت آن ارائه میدهم. فصل 2 این موضوع را به شمول دیجیتال گسترش میدهد. پایه و اساس دسترسیپذیری دیجیتال، دستورالعملهای دسترسیپذیری محتوای وب (WCAG) است. این دستورالعملها به عنوان معیاری عمل میکنند که ما با استفاده از آن قضاوت میکنیم که آیا نرمافزار قابل دسترس است یا خیر. آنها بر اساس تحقیقات و تخصص گسترده ساخته شدهاند، بنابراین استفاده از هر معیار دیگری بیهوده است. با این حال، به دلایل خوبی، آنها به گونهای نوشته شدهاند که میتواند برای هر کسی که یک فرد دانشگاهی با پیشینه عمیق در دسترسیپذیری وب نیست، غیرقابل نفوذ باشد. بنابراین در فصل 3، هدف من ارائه الزامات WCAG به روشی است که برای توسعهدهندگان موبایل و سایر افرادی که در فضای موبایل کار میکنند، قابل درکتر به نظر برسد. این کتاب برای هر کسی که در ایجاد تجربیات برنامه موبایل مشارکت دارد و میخواهد اطمینان حاصل کند که آنچه میسازند قابل دسترس و فراگیر است، در نظر گرفته شده است. من سابقه توسعه بومی iOS دارم و گاهی اوقات در اندروید بومی کار میکنم، بنابراین این کتاب به طور طبیعی بر پیادهسازی و نحوه ایجاد برنامههای قابل دسترس از دیدگاه یک توسعهدهنده تمرکز دارد. با این حال، محدود به کسانی که کد مینویسند نیست. در حالی که نمونههای کد زیادی وجود دارد، آنها وسیلهای برای دستیابی به مفاهیم مورد بحث در کتاب هستند – مفاهیمی که شامل طراحی بصری، طراحی رابط کاربری، طراحی سیستم و هرگونه تصمیم دیگری است که قبل از نوشتن کد گرفته میشود. یکی از نقاط قوت توسعه نرمافزار این است که میتوانیم تقریباً هر چیزی را بسازیم. با این حال، رویکردهای خاص میتوانند منجر به پیادهسازیهای شکننده یا تجربیات ضعیف شوند. دستورالعملها و بحثهای موجود در این کتاب باید به شما کمک کند تا تشخیص دهید چه چیزی یک تجربه قوی و قابل دسترس را ایجاد میکند و تصمیمات شما را هدایت کند. سپس نمونههای کد نشان میدهند که چگونه قابل دسترسترین نسخه از تجربهای را که برای ایجاد انتخاب میکنید، بسازید. کد در Swift و SwiftUI برای iOS و Kotlin و Jetpack Compose برای اندروید ارائه شده است. در جایی که این چارچوبها هنوز از ویژگیهای خاصی پشتیبانی نمیکنند، ممکن است گاهی اوقات در صورت لزوم به UIKit یا سیستم نمای اندروید مراجعه کنم. این کتاب دسترسی به وب موبایل یا هیچ چارچوب چند پلتفرمی را پوشش نمیدهد. برای وب موبایل، تکنیکهای استاندارد دسترسی به وب باید اعمال شود. من تجربه دست اولی با چارچوبهای چند پلتفرمی ندارم، بنابراین تصمیم گرفتم آنها را پوشش ندهم. به طور کلی، دیدگاه من این است که ابزارهایی که قصد دارند به هر دو پلتفرم اصلی خدمت کنند، اغلب در ایجاد تجربهای که در هر دو پلتفرم احساس راحتی کند، مشکل دارند و تجربه دسترسیپذیری این موضوع را تشدید میکند. این کتاب بر روی دو پلتفرم پیشرو موبایل در سطح کد تمرکز دارد. با این حال، اگر در حال ساخت برنامههایی برای سیستم عاملهای جایگزین مانند KaiOS یا Sailfish OS هستید، اصول مورد بحث در فصلهای غیر کد همچنان باید اعمال شوند. فصل ۴ به بررسی نحوه عملکرد سیستم دسترسیپذیری در اندروید با Jetpack Compose، از جمله تکنیکها و دانش لازم برای کار با درخت دسترسیپذیری میپردازد. فصل ۵ ملاحظات خاص ویژگی برای فناوریهای کمکی و ویژگیهای دسترسیپذیری در اندروید را پوشش میدهد. فصل ۶ سیستم دسترسیپذیری در iOS را بررسی میکند و دانش و ابزارهایی را برای ایجاد یک درخت دسترسیپذیری مؤثر در سیستم ارائه میدهد. سپس فصلهای ۷ تا ۱۰ ملاحظات و جزئیات پیادهسازی برای فناوریهای کمکی خاص و ویژگیهای دسترسیپذیری در iOS را پوشش میدهند. ممکن است متوجه شوید که اندروید فصلهای اختصاصی کمتری نسبت به iOS دریافت میکند. این نشان دهنده کم و بیش قابل دسترس بودن یک پلتفرم نیست. بلکه، این نشان دهنده تفاوتها در طراحی پلتفرم است. iOS، که از نظر تاریخی مبتنی بر طراحی است، اغلب برای تطبیق یا لغو رفتارهای پیشفرض به ملاحظات بیشتری نیاز دارد. اندروید، تا حدودی به دلیل تنوع بیشتر دستگاهها، به طور متفاوتی تکامل یافته است. فصل 11 راهنماییهای عملی برای آزمایش دسترسیپذیری ارائه میدهد که برای مهندسان تضمین کیفیت یا هر کسی که در اعتبارسنجی تجربیات کاربر دخیل است، مفید است. این فصل ابزارها و تکنیکهایی را برای بهبود پوشش و سرعت تکرار پوشش میدهد. در نهایت، فصل 12 به موضوع شمول بازمیگردد و بررسی میکند که چگونه ایدههای معرفی شده در سراسر کتاب میتوانند برای ایجاد تجربیات فراگیرتر برای طیف وسیعی از کاربران به کار گرفته شوند.
Accessibility and inclusion are intertwined. Inclusivity is about creating experiences that are welcoming to as many people as possible. Accessibility – the practice of making your app usable by people with diverse needs – is one part of building software that results in an inclusive experience. In Chapter 1, I provide background on accessibility, its history, and why it matters; Chapter 2 extends this into digital inclusion. The foundation of digital accessibility is the Web Content Accessibility Guidelines (WCAG). These serve as the benchmark by which we judge whether software is accessible. They are built on extensive research and expertise, so to use any other measure is vanity. However, for good reason, they are written in a way that can be impenetrable for anyone who isn’t an academic with a deep background in Web accessibility. So in Chapter 3, I aim to present the WCAG requirements in a way that feels more approachable to mobile developers and others working in the mobile space. This book is intended for anyone involved in creating mobile app experiences who wants to ensure what they are building is accessible and inclusive. I come from a native iOS development background, with occasional work in native Android, and so this book naturally focuses on implementation and how to create accessible apps from a developer’s perspective. That said, it is not limited to those who write code. While there are many code samples, they are a means of achieving the concepts discussed in the book – concepts that span visual design, user interface design, system design, and any other decisions that precede writing code. One of the strengths of software development is that we can build almost anything. However, certain approaches can lead to fragile implementations or poor experiences. The guidelines and discussions in this book should help you identify what makes a robust, accessible experience and guide your decisions. The code examples then demonstrate how to build the most accessible version of the experience you choose to create. Code is presented in Swift and SwiftUI for iOS and Kotlin and Jetpack Compose for Android. Where these frameworks do not yet support certain features, I may occasionally drop into UIKit or the Android view system where necessary. This book does not cover mobile web accessibility or any crossplatform frameworks. For mobile web, standard web accessibility techniques should apply. I do not have first-hand experience with crossplatform frameworks, so I have chosen not to cover them. More broadly, my view is that tools aiming to serve both major platforms often struggle to create an experience that feels at home on either, and the accessibility experience magnifies this. This book focuses on the two leading mobile platforms at a code level. However, if you are building apps for alternative operating systems such as KaiOS or Sailfish OS, the principles discussed in the non-code chapters should still apply. Chapter 4 explores how the accessibility system works on Android with Jetpack Compose, including techniques and knowledge for working with the accessibility tree. Chapter 5 covers feature-specific considerations for assistive technologies and accessibility features on Android. Chapter 6 examines the accessibility system on iOS, providing the knowledge and tools to allow the system to construct an effective accessibility tree. Chapters 7–10 then cover considerations and implementation details for specific assistive technologies and accessibility features in iOS. You may notice that Android receives fewer dedicated chapters than iOS. This is not a reflection of one platform being more or less accessible. Rather, it reflects differences in platform design. iOS, being historically design-led, often requires additional considerations to adapt or override default behaviors. Android, due in part to greater device diversity, has evolved differently. Chapter 11 provides practical guidance for testing accessibility aimed at QA engineers or anyone involved in validating user experiences. It covers both tools and techniques to improve coverage and iteration speed. Finally, Chapter 12 returns to the topic of inclusivity, exploring how the ideas introduced throughout the book can be applied to create more inclusive experiences for a wide range of users.
این کتاب را میتوانید از لینک زیر بصورت رایگان دانلود کنید:
Download: Developing Inclusive Mobile Apps





نظرات کاربران