ملانی سامنر یک مهندس نرم افزار و متخصص در دسترسی دیجیتال است. ما در مورد مسیر او به سمت مهندسی، طراحی قابل دسترس، Ember.js و اهمیت تامین مالی این تلاش ها صحبت کردیم.
این پست یک متخصص جامعه را به عنوان بخشی از Learn Accessibility برجسته می کند!
الکساندرا وایت : از اینکه به من پیوستید متشکرم! تو کی هستی و چیکار میکنی؟
ملانی سامنر : نام من ملانی سامنر است و من یک مهندس نرم افزار متخصص در دسترسی دیجیتال هستم. من 25 سال است که برای وب کد می نویسم. اولین شغل من… نوعی جاسوسی بود. من یک تحلیلگر اطلاعاتی در نیروی دریایی ایالات متحده بودم و کدنویسی سرگرمی من بود.
من خیلی دوست نداشتم جاسوس باشم. معلوم شد که من عاشق مرگ نبودم. همانطور که اکثر مردم اینطور نیستند، وقتی باید به آن نزدیکتر باشند. باید تصمیم میگرفتم که بعداً چه کاری انجام دهم، و زمان آن رسیده بود که سرگرمیام را به حرفهام تبدیل کنم. در 10 سال گذشته، من واقعاً بر مهندسی نرم افزار در فضای دسترسی متمرکز شده ام.
الکساندرا : شما اغلب نمی شنوید، "اوه اول من یک جاسوس بودم." چیز مهمی نیست. چه چیزی باعث شد وارد کار دسترسی شوید؟
ملانی : من در آن زمان در دانشگاه کارولینای شمالی [UNC] چپل هیل، در دپارتمان توسعه کار می کردم. منظور آنها توسعه مانند توسعه وب نیست، بلکه به معنای توسعه مانند جمع آوری سرمایه است.
مدیر مستقیم من یک اختلال بینایی داشت و برای دیدن آن مجبور بود همه چیز را تا 400 درصد زوم کند. او یک مهندس نرم افزار فوق العاده بود. در واقع بهترین مدیری است که تا به حال داشته ام. اما او همیشه وسایل من را می شکست، زیرا برای دیدن کارهای من زوم می کرد. اگر به این فکر نمی کردم که اشیا را به صورت پاسخگو بسازم، آنها می شکستند.
رئیس مدیر من کوررنگ آبی بود. نمیدانم آبی UNC چه شکلی است یا نه، اما این رنگ آبی آسمانی روشن است. و آنها عاشق استفاده از آن در رنگ سفید بودند.
الکساندرا : (می خندد) اوه نه.
ملانی : رئیسش همیشه شاکی بود که هرگز نمی تواند کار من را ببیند! من مجبور شدم مجموعه ای از رنگ های مکمل و یک طرح رنگی برای سایت هایمان ایجاد کنم. این باعث شد به تضاد رنگ فکر کنم و به این فکر کنم که افرادی که کور رنگ هستند (یا در غیر این صورت دچار اختلال بینایی) چگونه از وب استفاده می کنند.
از آنجا که UNC یک دانشگاه ایالتی است، یک الزام فدرال ایالات متحده برای مطابقت با سطح دسترسی WCAG AA وجود دارد. هدف ما سطح AAA بود زیرا این یک موسسه آموزشی است.
همانطور که بیشتر در مورد الزامات ایالتی و فدرال یاد گرفتم و شروع به خواندن مشخصات دسترسی W3C کردم، فکر کردم، "همه اینها منطقی است." از آنچه من میتوانستم ببینم، بیشتر وب مطابقت نداشت. البته تا زمانی که وب وجود داشته است، مردم روی دسترسی به وب کار می کنند. گاهی اوقات مهندسین جاوا اسکریپت (به ویژه) در مورد دسترسی دیجیتال کمی کند هستند.
من دسترسی را مرز نهایی وب می نامم. بسیاری از افراد خوب برای دسترسیپذیری روی اتوماسیون کار میکنند - و ما باید روی راهحلها به همان روشی کار کنیم که به مشکلات سخت دیگر مانند عملکرد و امنیت نزدیک شدهایم.
الکساندرا : احتمالاً اسناد پیچیده و طولانی زیادی را در نیروی دریایی و UNC خوانده اید. آیا متوجه شدید که درک مشخصات چالش برانگیز است؟
ملانی : قبل از اینکه متوجه شوم، مجبور شدم آن را حدود پنج بار بخوانم - و قبلاً مشخصات دیگر را خوانده بودم. من همیشه به مردم می گویم، اگر متوجه نشدید، احساس بدی نداشته باشید، زیرا من مجبور شدم مشخصات را پنج بار بخوانم! من حتی شوخی هم نمی کنم.
زمان زیادی طول می کشد تا به زبان مشخصات عادت کنید. و اگر آن را به درستی تفسیر نکنید، ممکن است کار اشتباهی انجام دهید. همچنین درک این نکته مهم است که بسیاری از زبان مشخصات برای توسعه دهندگان مرورگر در نظر گرفته شده است. به دنبال "نویسندگان باید" باشید، زیرا این اشاره به توسعه دهندگان وب است.
الکساندرا : اگر توسعه دهندگان بیشتری بدانند چگونه مشخصات را رمزگشایی کنند، بسیاری از موارد در وب می تواند بهتر باشد.
ملانی : برای سایت هایی که این تفسیر را برای شما انجام می دهند، چیزهای زیادی برای گفتن وجود دارد. من a11y-automation.dev را ساختم و آن سایت به نوعی شبیه پروژه جانبی من است. من سعی میکنم هر نقض دسترسی را به صورت جزئی بیان کنم و آن را به معیارهای موفقیت WCAG مرتبط کنم. اگر اتوماسیونی برای جلوگیری از خطا وجود داشته باشد، آن راه حل را ارائه خواهم کرد.
شما می توانید با لیستی از تخلفات احتمالی آشنا شوید، اما مهمتر از آن یادگیری نحوه رفع آن است. برای رفع خودکارهایی که وجود ندارند، شاید از شما الهام گرفته شود که یک لنگر یا یک الگو بنویسید—شاید برای نوشتن نوعی آزمایش الهام گرفته باشید.
من ترجیح میدهم در منبع باز کار کنم، زیرا شما به نوعی از یکدیگر جدا میشوید، یک بهبود ارائه میدهید (گاهی یک بهبود، گاهی نه، اما همه ما بهترین تلاش خود را میکنیم). ما بر اساس چیزهای یکدیگر میسازیم، و سپس به این نتیجه واقعا عالی برای وب میرسیم.
نحوه تامین بودجه دسترسی
الکساندرا : من واقعا به سمت pleasefunda11y.com کشیده شدم. واقعاً مهم است که توسعه دهندگان را یاد بگیرند که چگونه سایت های قابل دسترسی بسازند، اما آنها همیشه منابع را بدون داشتن بودجه و تأیید رهبری اجرایی در اختیار نخواهند داشت. چرا تصمیم به ساخت این سایت گرفتید؟
ملانی : من ناامید شدم زیرا دسترسی به آن بسیار کم است. به نظر می رسد تمام منابع مالی منبع باز به CSS ادامه می دهد. و من عاشق CSS هستم، ما می توانیم کارهای زیادی با آن انجام دهیم.
من سایت را ساختم زیرا آدی عثمانی -یک مدیر مهندسی نرمافزار کروم- تماس گرفت و گفت که میبیند من در حال درخواست بودجه دسترسی هستم، اما او میخواهد در مورد اینکه چه کار خاصی میتواند تامین مالی شود، مشاوره میخواست. این یک مشکل بزرگ است: سرمایهگذاران منبع باز میخواهند به پروژههای خاص پول بدهند، نه ایدههای کلی که هیچ نتیجه مشخصی ندارند. من مدتی زمان گذاشتم تا برخی از ابتکارات خاص را یادداشت کنم، چه چیزی لازم است و چگونه به دسترسی به سایت ها کمک می کند.
حتی اگر شرکتها بدون من این تلاشها را انجام دهند، میتوانیم دسترسی به وب را به روشی واقعاً قابل توجه به جلو ببریم. در مقایسه با سایر تلاش های وب، هزینه بسیار کمی است و تأثیر زیادی بر زندگی مردم خواهد داشت.
طرز فکر فعلی اغلب این است که "خب، چند نفر معلولیت دارند؟" باید این باشد: "رابطه هر فرد با فناوری خود چیست؟"
و برخی از مردم به من گفته اند، "خب، من فکر نمی کنم کوررنگی یک معلولیت باشد." اگر کور رنگی هستید ممکن است خود را معلول تشخیص ندهید، اما بر رابطه شما با فناوری تأثیر می گذارد.
الکساندرا : در مورد درک رابطه خود با تکنولوژی بیشتر به من بگویید. چه ارتباطی با دسترسی دارد؟
ملانی : برای مثال، اگر شما دارای تنوع عصبی هستید، شاید به زبان واقعاً ساده و دستورالعملهای بسیار واضح نیاز داشته باشید. شاید بهتر باشد در سه یا چهار صفحه در یک جریان پیمایش کنید و هر بار چند انتخاب انجام دهید تا به پایان برسید. راهنمایی خوبی برای کاربردهای فنی مدرن وجود ندارد.
ما شرکتهای کاملی داریم که توسعهدهی میکنند، و اگر سعی کنید از برخی از این وبسایتها استفاده کنید، میگویید «اوه خدای من»، میدانید؟ ما سعی می کنیم این روزها سینک آشپزخانه را در همه رابط های خود قرار دهیم.
الکساندرا : می توانید یک مثال بگویید؟
ملانی : برای مثال، GitHub دارای فهرستهای کشویی با زبانههای تودرتو است. و [آه خشمگین]. من نمی توانم ناراحت شوم (حتی اگر ناامید باشم). وب مدرن باید رشد کند تا نیازهای جدید را برآورده کند. اما ما نیز وظیفه داریم طوری بسازیم که مردم را پشت سر نگذاریم.
این چیزی است که مرا هدایت می کند، این اشتیاق من است. من نمی خواهم کسی نتواند شغلی پیدا کند زیرا ابزارهایی که باید در این کار استفاده کنند در دسترس نیستند.
الکساندرا : صد در صد. و مردم اغلب در مورد ساخت محصولات قابل دسترس برای کاربران خارجی خود فکر می کنند، اما لزوماً به کارمندان خود فکر نمی کنند.
ملانی : فکر میکردم، میدانی چیست، این توصیه مالی احتمالاً به نفع همه خواهد بود.
من همیشه از مهندسان میشنوم که دوست دارند دسترسی را انجام دهند، اما «شرکت من اهمیتی نمیدهد». شرط می بندم که اهمیت می دهند! شما فقط باید شکاف منطق کسب و کار را پر کنید. نتیجه سودمند کسب و کار را به آنها نشان دهید. البته سایت منبع باز است و من عاشق مشارکت و ویرایش هستم.
الکساندرا : دسترسی اغلب به پایان فرآیند واگذار می شود، مانند: "اوه، ما می توانیم بعداً این را در دسترس قرار دهیم." اما اضافه کردن آن دیرتر زمان بیشتری از زمان ادغام روشهای قابل دسترس در سراسر پروژه خواهد برد.
ملانی : من اغلب می گویم، "آیا می خواهید برای ساخت آن یک بار هزینه کنید یا می خواهید برای ساخت آن دو بار هزینه کنید؟"
Ember.js و تیم اصلی دسترسی
الکساندرا : می دانم که شما نیز در تیم اصلی فریمورک Ember.js مشارکت دارید. چطور درگیر شدی؟
ملانی : من برای کار در جی پی مورگان چیس، در پلتفرم های بانکی سرمایه گذاری شرکتی آنها استخدام شدم. Ember یک چارچوب جاوا اسکریپت سنگین است که در مواقعی استفاده میشود که به یک پایگاه واقعاً پایدار (شاید حتی به نوعی خستهکننده) نیاز دارید، که میتواند به شما کمک کند از نوشتن کدی که مقدار زیادی دلار بانکی را از دست میدهد اجتناب کنید. Ember دارای ضمانت سازگاری با عقب است—شما می توانید هر بار ارتقا دهید، حتی اگر نسخه اصلی را داشته باشید. ما واقعاً سعی می کنیم کارها را به صورت تدریجی انجام دهیم، بنابراین برنامه شما را خراب نمی کند.
به هر حال، من در یک کنفرانس Ember حاضر شدم و با تعداد زیادی از افراد جامعه آشنا شدم. مردم امبر خیلی مهربان بودند. و یک آداب رفتاری واقعا قوی وجود دارد که من هنوز آن را در جاهای دیگر ندیده بودم.
وقتی از سربازی خارج شدم، می خواستم بروم امنیت. من به یک جلسه infosec رفتم و هیچ زن دیگری را در آنجا ندیدم. یکی از بچه های بزرگتر به من نگاه کرد و گفت: "مطمئنی تو اتاق مناسبی هستی عزیزم؟"
الکساندرا : [ناز می کشد] درد دارد. و کاملاً جای تعجب ندارد. من همچین چیزی رو تجربه کردم
ملانی : می خواهم بگویم این سال 2011 بود، شاید 2012؟ چشم انداز بسیار تغییر کرده است. من آن شب، از طریق آن ملاقات، ماندم تا یک نکته را ثابت کنم. من اجازه نمی دادم که این کامنت مرا خاموش کند. من شوخی می کردم، یادداشت های خوبی می گرفتم و در گفتگو شرکت می کردم، بنابراین مردم می دانستند که من آنجا هستم. احساس میکنم بسیاری از حرفهام ثابت کرده است که مردان اشتباه میکنند.
اما، من نمیخواهم زنان مهندس نرمافزار شوند تا ثابت کنند مردان اشتباه میکنند. من میخواستم یک مهندس نرمافزار بشوم تا چیزهای شگفتانگیزی بسازم، زیرا انجام آن سرگرمکننده است. زنان باید این گزینه شغلی را داشته باشند.
الکساندرا : حتما.
ملانی : من آنچه را که در مورد دسترسی می دانستم با جامعه Ember به اشتراک گذاشتم، زیرا بدیهی است که به عنوان یک پلت فرم بانکی، شما باید با الزامات فدرال ایالات متحده مطابقت داشته باشید. یهودا کاتز و تام دیل گفتند، "ما یک شکاف در تیم داریم. ما متخصصان جاوا اسکریپت، کارشناسان عملکرد، افراد باهوش خارج از این دنیا داریم و به فردی با دانش دسترسی نیاز داریم." و از من دعوت کردند که به تیم اصلی بپیوندم.
من روی طرحهایی کار میکنم که به طور پیشفرض به Ember در دسترس باشد. این بدان معناست که وقتی می گویید ember new <my-app-name>
، باید بلافاصله معیارهای موفقیت WCAG را بگذرانید.
الکساندرا : من یک لیست طولانی از ابزارهای دسترسی برای Ember را در GitHub دیدم. آیا متوجه شده اید که افراد جامعه Ember برای کمک به این ابزارها هیجان زده هستند؟
ملانی : این بخش واقعاً هیجان انگیز این کار بود. زمانی که در لینکدین کار می کردم، قوانین مربوط به دسترسی پذیری را برای Ember نوشتم. سپس من لینکدین را ترک کردم تا برای Hashicorp کار کنم، و افراد دیگر هنوز هم به دلیل اینکه برای آنها مفید است، در این کار مشارکت دارند. این بخشی از این کار است که به من لرز می دهد و من را هیجان زده می کند.
ما می پذیریم که به عنوان پایه، دسترسی یک حق مدنی است. این جای بحث نیست
آنچه ما در مورد آن بحث می کنیم این است: چه چیزی را می توانیم اجرا کنیم؟ چه زمانی؟ چگونه آن را درست کنیم؟ چگونه این را آموزش دهیم و آن را با عقب سازگار کنیم؟ چگونه میتوانیم به توسعهدهندگان کمک کنیم تا بدون ویژگی اضافی بزرگی که باید برای آن بسازند یا برنامهریزی کنند، پشتیبانی از دسترسی را ارائه دهند؟
الکساندرا : دسترسی یک حق مدنی است. این به من لرز می دهد! این فقط باید چیزی باشد که همه ما به عنوان حقیقت می دانیم.
ملانی : من از افرادی داشتم که چیزهای ناآگاهانه ای به من می گفتند، مانند "اگر نابینا بودم از اینترنت استفاده نمی کردم." یا، "چرا باید در مورد ناتوانی ها فکر کنم، در حالی که فقط 5٪ از کاربران من هستند، در حالی که برای 90٪ از کاربران من کار می کنند؟" من آن بحث ها را نخواهم داشت، زیرا اغلب برای پرت کردن حواس از کار استفاده می شود.
هنگامی که کدهای قابل دسترسی را می نویسید، عملکرد را افزایش می دهید زیرا به ساخت سایت هایی با مشخصات W3C فکر می کنید. شما از HTML معنایی به جای divs استفاده خواهید کرد و از سرفصل ها استفاده خواهید کرد. شما به جای افزودن یک رویداد کلیکی به <div>
، یک <button>
انتخاب خواهید کرد و بهبود عملکرد را دریافت خواهید کرد.
یک کار را انجام دهید: دسترسی خودکار
الکساندرا : یک کاری که توسعه دهندگان وب باید برای ساخت وب سایت های قابل دسترس انجام دهند چیست؟
ملانی : اتوماسیون را اضافه کنید. برای هر چارچوبی که دارید، از هر نوع کدی که استفاده میکنید، با یک لینتر موجود شروع کنید. برای من مهم نیست که شما از کدام یک استفاده می کنید! اگر یکی از این قوانین شکسته شود، ساخت شما باید شکسته شود.
برخی از چیزها را نمی توان خودکار کرد، زیرا هوش مصنوعی هنوز نمی تواند هدف را رمزگشایی کند. به عنوان مثال، مقدار متن جایگزین یک تصویر باید معنادار باشد، اما در واقع به چه معناست؟ در حال حاضر، یک انسان نیاز به تشخیص آن دارد، نه اتوماسیون.
اما یک ابزار خودکار می تواند به شما بگوید، "شما از کنتراست رنگ عبور نمی کنید." فقط درستش کن با آن دعوا نکنید، نگویید: "اما من نمی خواهم، من آن را به این شکل ترجیح می دهم." این مربوط به شما نیست. این در مورد این است که هر روز کاری را که انجام می دهیم برای همه در جهان در دسترس قرار دهیم.
دسترسی یک سفر است و شما همیشه در حال یادگیری هستید. بیش از یک دهه است که در زمینه دسترسی تخصص دارم و هنوز هم همیشه چیزهای جدیدی یاد میگیرم! حالت تدافعی نداشته باش فقط انجامش بده
با کارهای ملانی در وب سایت او به آدرس melanie.codes و Twitter @a11yMel همراه باشید. منابع دسترسی او را در pleasefunda11y.com ، a11y-info.com و a11y-automation.dev بررسی کنید.