ملانی سامنر یک مهندس نرمافزار است که در زمینه دسترسیپذیری دیجیتال تخصص دارد. ما در مورد مسیر او به سمت مهندسی، طراحی دسترسیپذیر، Ember.js و اهمیت تأمین مالی این تلاشها صحبت کردیم.
این پست به عنوان بخشی از برنامه «یادگیری دسترسیپذیری!» به معرفی یک متخصص جامعه میپردازد.
الکساندرا کلپر : ممنون که به من ملحق شدید! شما که هستید و چه کار میکنید؟

ملانی سامنر : اسم من ملانی سامنر است و من یک مهندس نرمافزار متخصص در دسترسیپذیری دیجیتال هستم. من ۲۵ سال است که برای وب کد مینویسم. اولین شغل من... چیزی شبیه جاسوسی بود. من یک تحلیلگر اطلاعاتی در نیروی دریایی ایالات متحده بودم و کدنویسی سرگرمی من بود.
من واقعاً از جاسوس بودن خوشم نمیآمد. معلوم شد که از مرگ خوشم نمیآید. همانطور که اکثر مردم وقتی مجبورند به آن نزدیکتر باشند، اینطور نیستند. باید تصمیم میگرفتم که در مرحله بعد میخواهم چه کار کنم، و وقت آن رسیده بود که سرگرمیام را به حرفهام تبدیل کنم. در 10 سال گذشته، من واقعاً روی مهندسی نرمافزار، به طور خاص در حوزه دسترسیپذیری، تمرکز کردهام.
الکساندرا : زیاد نمیشنوی که «اولش جاسوس بودم.» مهم نیست. چی باعث شد وارد کار دسترسیپذیری بشی؟
ملانی : من آن زمان در دانشگاه کارولینای شمالی [UNC] چپل هیل، در دپارتمان توسعه کار میکردم. منظورشان از توسعه، توسعهای مثل توسعه وب نیست، بلکه توسعهای مثل جمعآوری کمکهای مالی است.
مدیر مستقیم من اختلال بینایی داشت و مجبور بود همه چیز را تا ۴۰۰٪ بزرگنمایی کند تا آن را ببیند. او یک مهندس نرمافزار فوقالعاده بود. در واقع احتمالاً بهترین مدیری که تا به حال داشتهام. اما او همیشه وسایل من را خراب میکرد، زیرا برای دیدن کار من بزرگنمایی میکرد. اگر به ساخت واکنشگرای چیزها فکر نمیکردم، آنها خراب میشدند.
رئیس مدیر من نسبت به رنگ آبی کوررنگ بود. نمیدانم میدانید آبی UNC چه شکلی است یا نه، اما این رنگ آبی آسمانی روشن است. و آنها عاشق استفاده از آن روی رنگ سفید بودند.
الکساندرا : (میخندد) اوه نه.
ملانی : رئیسش همیشه از اینکه هیچوقت نمیتواند کار من را ببیند شکایت داشت! من مجبور بودم مجموعهای از رنگهای مکمل و یک طرح رنگی برای سایتهایمان ایجاد کنم. این باعث شد که به کنتراست رنگ فکر کنم و به این فکر کنم که افرادی که کوررنگی (یا به هر نحوی کمبینا) دارند چگونه از وب استفاده میکنند.
از آنجا که UNC یک دانشگاه ایالتی است، الزام فدرال ایالات متحده برای مطابقت با سطح دسترسی AA از WCAG وجود دارد. ما سطح AAA را هدف قرار دادیم زیرا یک موسسه آموزشی است.
همانطور که بیشتر در مورد الزامات ایالتی و فدرال یاد گرفتم و شروع به خواندن مشخصات دسترسیپذیری W3C کردم، با خودم فکر کردم: «همه اینها منطقی است.» تا جایی که من میدیدم، بیشتر وب با این الزامات مطابقت نداشت. البته، از زمانی که وب وجود داشته، افرادی روی دسترسیپذیری وب کار کردهاند. گاهی اوقات مهندسان جاوا اسکریپت (به ویژه) در درک دسترسیپذیری دیجیتال کمی کند هستند.
من دسترسیپذیری را مرز نهایی وب مینامم. افراد خوب زیادی روی اتوماسیون دسترسیپذیری کار میکنند - و ما باید روی راهحلها به همان روشی که با سایر مشکلات سخت مانند عملکرد و امنیت برخورد کردهایم، کار کنیم.
الکساندرا : شما احتمالاً اسناد طولانی و پیچیده زیادی را در نیروی دریایی و دانشگاه کارولینای شمالی خواندهاید. آیا درک مشخصات برایتان چالشبرانگیز بود؟
ملانی : من مجبور شدم حدود پنج بار آن را بخوانم تا بفهمم - و قبلاً مشخصات دیگری را خوانده بودم. من همیشه به مردم میگویم، اگر آن را نفهمیدید، احساس بدی نداشته باشید، چون من مجبور شدم آن مشخصات را پنج بار بخوانم! من حتی شوخی هم نمیکنم.
عادت کردن به زبان spec زمان زیادی میبرد. و اگر آن را به درستی تفسیر نکنید، ممکن است کار اشتباهی انجام دهید. همچنین مهم است که بدانید بخش زیادی از زبان spec برای توسعهدهندگان مرورگر در نظر گرفته شده است. به دنبال عبارت «نویسندگان باید» باشید، زیرا این عبارت به توسعهدهندگان وب اشاره دارد.
الکساندرا : اگر توسعهدهندگان بیشتری میدانستند چگونه مشخصات فنی را رمزگشایی کنند، خیلی از چیزهای موجود در وب میتوانست بهتر باشد.
ملانی : در مورد سایتهایی که این تفسیر را برای شما انجام میدهند، حرفهای زیادی برای گفتن وجود دارد. من a11y-automation.dev را ساختم و آن سایت مثل فرزندم، پروژه جانبی من است. من سعی میکنم هر نقض دسترسی را به صورت موردی ثبت کنم و آن را به معیارهای موفقیت WCAG مورد نظر پیوند دهم. اگر اتوماسیونی برای جلوگیری از خطا وجود داشته باشد، آن راه حل را ارائه خواهم داد.
شما میتوانید با لیست تخلفات احتمالی آشنا شوید، اما مهمتر از آن یادگیری نحوه رفع آن است. برای رفع اشکالات خودکاری که وجود ندارند، شاید الهام بگیرید که یک خطکش یا یک الگو بنویسید - شاید الهام بگیرید که نوعی تست بنویسید.
من ترجیح میدهم در فضای متنباز کار کنم، چون میتوانید از ایدههای یکدیگر تقلید کنید، پیشنهاد بهبود بدهید (گاهی اوقات یک بهبود، گاهی نه، اما همه ما تمام تلاشمان را میکنیم). ما از ایدههای یکدیگر استفاده میکنیم و در نهایت به یک نتیجه واقعاً عالی برای وب میرسیم.
چگونه بودجه دسترسیپذیری را تأمین کنیم
الکساندرا : من واقعاً جذب pleasefunda11y.com شدم. خیلی مهم است که به توسعهدهندگان یاد بدهیم چگونه سایتهای قابل دسترس بسازند، اما آنها همیشه بدون بودجه و تأیید رهبری اجرایی، منابع لازم را نخواهند داشت. چرا تصمیم گرفتید این سایت را بسازید؟
ملانی : من ناامید شدم چون دسترسیپذیری خیلی کم بودجه داره. انگار تمام بودجه متنباز همچنان به CSS اختصاص داده میشه. و من عاشق CSS هستم، میتونیم خیلی کارها باهاش انجام بدیم.
من این سایت را ساختم چون ادی عثمانی - مدیر مهندسی نرمافزار کروم - با من تماس گرفت و گفت که دیده من درخواست بودجه برای دسترسیپذیری دارم، اما میخواست در مورد اینکه چه کار خاصی میتواند تأمین مالی شود، راهنماییام کند. این یک مشکل بزرگ است: تأمینکنندگان مالی متنباز میخواهند به پروژههای خاص پول بدهند، نه ایدههای کلی که نتیجه مشخصی ندارند. من مدتی وقت گذاشتم تا برخی از ابتکارات خاص، آنچه مورد نیاز است و اینکه چگونه به دسترسیپذیری سایتها کمک میکنند را بنویسم.
حتی اگر شرکتها بدون من هم به این تلاشها ادامه دهند، میتوانیم دسترسیپذیری در وب را به طرز چشمگیری پیش ببریم. این در مقایسه با سایر تلاشهای وب، هزینه بسیار کمی است و تأثیر زیادی بر زندگی مردم خواهد داشت.
طرز فکر فعلی اغلب این است که «خب، چند نفر معلولیت دارند؟» باید اینطور باشد: «رابطه هر فرد با فناوریاش چیست؟»
و بعضیها به من گفتهاند: «خب، من فکر نمیکنم کوررنگی یک معلولیت باشد.» اگر کوررنگ باشید، ممکن است خودتان را دارای معلولیت ندانید، اما این موضوع بر رابطه شما با فناوری تأثیر میگذارد.
الکساندرا : در مورد رابطهات با فناوری بیشتر توضیح بده. این رابطه چه ارتباطی با دسترسیپذیری دارد؟
ملانی : برای مثال، اگر شما از نظر عصبی-عصبی متنوع هستید، شاید به زبان بسیار ساده و دستورالعملهای بسیار واضح نیاز داشته باشید. شاید بهتر باشد که در یک جریان، سه یا چهار صفحه را مرور کنید و هر بار چند انتخاب انجام دهید تا به انتها برسید. راهنمایی خوبی برای کاربردهای فنی مدرن وجود ندارد.
ما شرکتهای کاملی داریم که DevOps انجام میدهند، و اگر سعی کنید از بعضی از آن وبسایتها استفاده کنید، با خودتان میگویید "خدای من،" میدانید؟ ما این روزها سعی میکنیم سینک ظرفشویی را در تمام رابطهای کاربری خود بگنجانیم.
الکساندرا : میشه یه مثال بزنی؟
ملانی : مثلاً، گیتهاب منوی کشویی با تبهای تو در تو دارد. و [آهی خشمگین]. من نمیتوانم ناراحت شوم (حتی اگر ناامید باشم). وب مدرن باید رشد کند تا نیازهای جدید را برآورده کند. اما ما همچنین مسئولیت داریم که به گونهای بسازیم که مردم را پشت سر نگذارد.
این چیزی است که من را به جلو میراند، این شور و اشتیاق من است. من نمیخواهم کسی نتواند شغلی پیدا کند، چون ابزارهایی که باید در آن شغل استفاده کند، در دسترس نیستند.
الکساندرا : صد در صد. و مردم اغلب به ساخت محصولات قابل دسترس برای کاربران خارجی خود فکر میکنند، اما لزوماً به کارمندان خود فکر نمیکنند.
ملانی : من فکر کردم، میدونی چیه، این توصیهی تأمین مالی احتمالاً به نفع همه خواهد بود.
من همیشه از مهندسان میشنوم که دوست دارند دسترسیپذیری را انجام دهند، اما "شرکت من اهمیتی نمیدهد." شرط میبندم که برایشان مهم است! شما فقط باید شکاف منطق کسبوکار را پر کنید. نتیجه مفید آن را برای کسبوکار به آنها نشان دهید. البته این سایت متنباز است و من عاشق مشارکتها و ویرایشها هستم.
الکساندرا : دسترسیپذیری اغلب به انتهای فرآیند موکول میشود، مثلاً «خب، میتوانیم این را بعداً قابل دسترس کنیم.» اما اضافه کردن آن بعداً زمان بسیار بیشتری نسبت به ادغام شیوههای قابل دسترسپذیری در طول پروژه خواهد برد.
ملانی : من اغلب میپرسم: «میخواهی یک بار برای ساختنش پول بدهی یا میخواهی دو بار برای ساختنش پول بدهی؟»
Ember.js و تیم اصلی دسترسیپذیری
الکساندرا : میدانم که شما در تیم اصلی فریمورک Ember.js نیز مشارکت دارید. چطور درگیر این کار شدید؟
ملانی : من برای کار در JPMorgan Chase، روی پلتفرمهای بانکداری سرمایهگذاری شرکتی آنها استخدام شدم. Ember یک چارچوب جاوا اسکریپت سنگین است که وقتی به یک پایه واقعاً پایدار (شاید حتی کمی خستهکننده) نیاز دارید، استفاده میشود و میتواند به شما کمک کند از نوشتن کدی که باعث از دست رفتن کلی پول بانکی میشود، جلوگیری کنید. Ember ضمانت سازگاری با نسخههای قبلی را دارد - میتوانید هر بار ارتقا دهید، حتی اگر به نسخه اصلی بروید. ما واقعاً سعی میکنیم کارها را به صورت تدریجی انجام دهیم، بنابراین برنامه شما خراب نمیشود.
به هر حال، من در یک کنفرانس امبر شرکت کردم و با کلی از افراد جامعه آشنا شدم. بچههای امبر خیلی مهربان بودند. و یک اصول اخلاقی واقعاً قوی وجود دارد که من هنوز در جاهای دیگر ندیده بودم.
وقتی از ارتش بیرون آمدم، میخواستم وارد حوزه امنیت شوم. به یک گردهمایی امنیت اطلاعات رفتم و هیچ زن دیگری را آنجا ندیدم. یکی از مردان مسنتر به من نگاه کرد و گفت: «عزیزم، مطمئنی در اتاق درست هستی؟»
الکساندرا : [ناله میکند] درد داره. و کاملاً هم عجیب نیست. من هم یه همچین چیزی رو تجربه کردم.
ملانی : میخوام بگم که این سال ۲۰۱۱ بود، شاید ۲۰۱۲؟ اوضاع خیلی تغییر کرده. من اون شب، در طول اون جلسه، موندم تا یه نکته رو ثابت کنم. نمیخواستم بذارم اون حرف دهنمو ببنده. جوک تعریف میکردم، یادداشتهای خوب برمیداشتم و تو بحث شرکت میکردم، بنابراین مردم میفهمیدن که من اونجام. احساس میکنم بخش زیادی از دوران حرفهایم صرف این شده که به مردها ثابت کنم اشتباه میکنن.
اما، من نمیخواهم زنان مهندس نرمافزار شوند فقط برای اینکه اشتباه مردان را ثابت کنم. من میخواستم مهندس نرمافزار شوم تا چیزهای شگفتانگیزی بسازم، چون انجام دادنش لذتبخش است. زنان باید این گزینه شغلی را داشته باشند.
الکساندرا : کاملاً.
ملانی : من آنچه را که در مورد دسترسیپذیری میدانستم با جامعه Ember به اشتراک گذاشتم، زیرا بدیهی است که به عنوان یک پلتفرم بانکی، باید با الزامات فدرال ایالات متحده مطابقت داشته باشید. یهودا کاتز و تام دیل گفتند: «ما در تیم یک خلا داریم. ما تعداد زیادی متخصص جاوا اسکریپت، متخصص عملکرد، افراد باهوش و بینظیر داریم و به کسی با دانش دسترسیپذیری نیاز داریم.» و آنها از من دعوت کردند تا به تیم اصلی بپیوندم.
من در حال کار روی ابتکاراتی هستم تا Ember را به صورت پیشفرض در دسترس قرار دهم. این بدان معناست که وقتی شما ember new <my-app-name> را مینویسید، باید بلافاصله معیارهای موفقیت WCAG را پشت سر بگذارید.
الکساندرا : من لیست بلندی از ابزارهای دسترسی برای Ember را در گیتهاب دیدم. آیا متوجه شدهاید که افراد جامعه Ember برای مشارکت در این ابزارها هیجانزده هستند؟
ملانی : این بخش واقعاً هیجانانگیزی از این کار بوده است. من در زمان کار در لینکدین، قوانین دسترسیپذیری linting را برای Ember نوشتم. سپس لینکدین را ترک کردم تا برای Hashicorp کار کنم و افراد دیگر هنوز در linter مشارکت میکنند زیرا برایشان مفید است. این بخشی از این کار است که به من آرامش میدهد و مرا هیجانزده میکند.
ما به عنوان یک اصل، دسترسیپذیری را یک حق مدنی میدانیم. این موضوع جای بحث ندارد.
چیزی که ما در مورد آن بحث میکنیم این است: چه چیزی را میتوانیم پیادهسازی کنیم؟ چه زمانی؟ چگونه آن را بسازیم؟ چگونه این را آموزش دهیم و آن را با نسخههای قبلی سازگار کنیم؟ چگونه به توسعهدهندگان کمک کنیم تا بدون یک ویژگی اضافی بزرگ که باید بسازند یا برای آن برنامهریزی کنند، پشتیبانی از دسترسیپذیری را ارائه دهند؟
الکساندرا : دسترسی یک حق مدنی است. این من را به لرزه میاندازد! این باید چیزی باشد که همه ما آن را به عنوان حقیقت میدانیم.
ملانی : افرادی بودهاند که حرفهای بیاساس به من زدهاند، مثلاً «اگر نابینا بودم از اینترنت استفاده نمیکردم.» یا «چرا باید به معلولیتها فکر کنم وقتی فقط ۵٪ از کاربران من از اینترنت استفاده میکنند، در حالی که اینترنت برای ۹۰٪ از کاربران من کار میکند؟» من این بحثها را نخواهم داشت، چون اغلب برای پرت کردن حواس از کار استفاده میشوند.
وقتی کد قابل دسترس مینویسید، افزایش عملکرد خواهید داشت زیرا به ساخت سایتهایی که با مشخصات W3C مطابقت دارند فکر میکنید. به جای استفاده از divها، از HTML معنایی استفاده خواهید کرد و از عنوانها استفاده خواهید کرد. به جای اضافه کردن یک رویداد کلیک به <div> ، یک <button> انتخاب خواهید کرد و بهبود عملکرد را دریافت خواهید کرد.
یک کار انجام دهید: خودکارسازی دسترسیپذیری
الکساندرا : توسعهدهندگان وب برای ساخت وبسایتهای دسترسپذیر چه کاری باید انجام دهند؟
ملانی : اتوماسیون را اضافه کنید. با یک linter موجود برای هر چارچوبی که دارید، هر نوع کدی که استفاده میکنید، شروع کنید. برایم مهم نیست از کدام استفاده میکنید! اگر یکی از این قوانین نقض شود، ساخت شما باید خراب شود.
بعضی چیزها را نمیتوان خودکار کرد، زیرا هوش مصنوعی هنوز نمیتواند قصد و نیت کاربر را رمزگشایی کند. برای مثال، مقدار متن جایگزین یک تصویر باید معنادار باشد، اما این واقعاً به چه معناست؟ در حال حاضر، یک انسان باید این را تشخیص دهد، و نه اتوماسیون.
اما یک ابزار خودکار میتواند به شما بگوید، «شما کنتراست رنگ را رعایت نمیکنید.» فقط آن را اصلاح کنید. با آن مبارزه نکنید، نگویید، «اما من نمیخواهم، من این روش را ترجیح میدهم.» این مربوط به شما نیست. این مربوط به در دسترس قرار دادن کاری است که ما هر روز برای همه در جهان انجام میدهیم.
دسترسیپذیری یک سفر است و شما همیشه در حال یادگیری خواهید بود. من بیش از یک دهه است که در زمینه دسترسیپذیری تخصص دارم و هنوز هم همیشه چیزهای جدید یاد میگیرم! حالت تدافعی نگیرید، فقط انجامش دهید.
کارهای ملانی را در وبسایت او به آدرس melanie.codes و توییتر @a11yMel دنبال کنید. منابع دسترسی او را در pleasefunda11y.com ، a11y-info.com و a11y-automation.dev ببینید.