Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Accessible By Default!
Search
Bilal Çınarlı
October 08, 2024
Technology
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Accessible By Default!
Bilal Çınarlı
October 08, 2024
More Decks by Bilal Çınarlı
See All by Bilal Çınarlı
Efficieny and Scaling in Frontend
bcinarli
0
48
Navigating with Unknowns
bcinarli
1
45
Story of a Boring Work
bcinarli
0
21
Refactoring Frontend
bcinarli
0
52
Aninda Yüklenen Uygulamalar
bcinarli
0
150
Iletisimin Mühendisligi
bcinarli
0
68
Independently together: better developer experience & App performance
bcinarli
1
550
Developer Experience: How happy are your engineers?
bcinarli
0
290
Micro Applications: Divide & Conquer
bcinarli
2
1.2k
Other Decks in Technology
See All in Technology
[モダンアプリ勉強会]今更聞けないGit/GitHub入門
tsukuboshi
0
370
2026TECHFRESH畢業分享會 - Lightning Talk - 資料也要 CI/CD? 用 Airbyte 自動化資料同步
line_developers_tw
PRO
0
780
エラーバジェットのアラートのタイミングを考える.pdf
kairim0
0
120
200個のGitHubリポジトリを横断調査したかった
icck
0
110
Snowflakeと仲良くなる第一歩
coco_se
4
420
AIのReact習熟度を測る
uhyo
1
130
SIer20年! 培ったスキルがスタートアップで輝く時
shucho0103
0
840
連合学習と機密コンピューティング
lycorptech_jp
PRO
0
100
やさしいA2A入門
minorun365
PRO
12
1.7k
MCP Appsを作ってみよう
iwamot
PRO
4
540
現地で盛り上がった WWDC26 Keynote
zozotech
PRO
1
200
チームで進めるAI駆動アジャイル×ウォーターフォール
kumaiu
0
150
Featured
See All Featured
Crafting Experiences
bethany
1
180
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
160
How to Talk to Developers About Accessibility
jct
2
230
Music & Morning Musume
bryan
47
7.2k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
470
Evolving SEO for Evolving Search Engines
ryanjones
0
210
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
330
Skip the Path - Find Your Career Trail
mkilby
1
140
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
290
Docker and Python
trallard
47
3.9k
From π to Pie charts
rasagy
0
210
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
Transcript
ACCESSIBLE BY DEFAULT ERİŞİLEBİLİR UYGULAMA GELİŞTİRMENİN PÜF NOKTALARI
BILAL ÇINARLI Principal Frontend Engineer @ Jira / Atlassian @bcinarli
%95.9 İLK 1 MİLYON SİTE İÇİNDE ERİŞİLEBİLİRLİK PROBLEMİ OLANLAR
98% WCAG 2.1 STANDARTLARINA UYMAYAN SİTE ORANI
WCAG 2.1 standartları çoğunlukla alt-text, klavye navigasyonu, tutarlılık ve uygun
HTML yapısı istiyor
Yanlış Bilgi Erişilebilirlik sadece küçük bir grup kullanıcı için geçerli
16% DÜNYA NÜFUSUNDA BİR ŞEKİLDE ENGELİ OLANLAR
Yanlış Bilgi Benim uygulamamı engelli kullanıcıların kullanma ihtiyacı yok
Yanlış Bilgi Erişilebilirlik sadece görme engelli kişiler içindir
Erişilebilirlik ihtiyacı her hangibir zamanda karşımıza çıkabilir
Bir ay boyunca zayıf olan kolunuzu kullandığınızı düşünün
Yanlış Bilgi Bir siteyi erişilebilir yapmak çok zaman alan ve
masraflı bir uğraştır
56.8 ORTALAMA BİR SAYFADAKİ ERİŞİLEBİLİRLİK PROBLEMİ
Açıklama metni eksik resimler, boş bağlantılar & butonlar, eksik/olmayan etiketler
(label), yanlış renk kontrastı
<div class="headline"> <h2>Elmalar ne kadar sağlıklı? < / h2> <img
src="headline.jpg" /> </ div>
<div class="headline"> <h2>Elmalar ne kadar sağlıklı? < / h2> <img
alt="Bir bütün ve bir ısırılmış elma yan yana duruyor." src="headline.jpg" /> </ div>
Yanlış Bilgi Erişilebilirlik sadece resimlere açıklama metni eklemekten ibarettir
%54.5 RESİMLERİNDE AÇIKLAMA METNİ EKSİK SİTE ORANI
%19.8 TOPLAM ERİŞİLEBİLİRLİK KUSURLARI İÇİNDE RESİMLERİN ORANI
Yanlış HTML yapısı, yanlış fonksiyonel kontroller, eksik renk kontrası, yanlış
JavaScript kullanımı…
<div class="input"> <span class="label">Email < / span> <input type="text" name="email"
required / > </ div> <div class="input"> <span class="label">Password </ span> <input type="password" name="password" required /> </ div>
<label class="input"> <span class="label">Email < / span> <input type="email" name="email"
required /> </ label> <label class="input"> <span class="label">Password </ span> <input type="password" name="password" required / > </ label>
Dosyayı indirmek için <a onclick="download('file123')">buraya </ a> tıklayınız
<a href="erisilebilir-uygulamalar.pdf" type="application/pdf"> Erişilebilir uygulamalar (<abbr title="Adobe Portable Document Format">PDF
</ abbr>, 27.5 <abbr title="Megabyte">MB </ abbr>) </ a>.
AAA - 7 : 1 AA - 4.5 : 1
A - 3 : 1 (içerik için uygun değil)
https://colourcontrast.cc
Yanlış Bilgi Sadece aria-label ekleyerek erişilebilir olabiliriz
First Rule of ARIA use: ARIA kullanmayın! Standart HTML semantiği
ve etkileşimini tercih edin!
<table role="menu"> <tr role="menubar"> <td role="menuitem"> <button onclick="goToLink('homepage')" aria-current="page" aria-label="Homepage">Homepage
< / button> </ td> <td role="menuitem"> <button onclick="goToLink('search')" aria-label="Search">Search < / button> </ td> <td role="menuitem"> <button onclick="goToLink('likes')" aria-label="Likes">Likes </ button> </ td> <td role="menuitem"> <button onclick="goToLink('profile')" aria-label="Profile">Profile </ button> </ td> </ tr> </ table>
<nav> <ul> <li><a href="/" aria- current="page">Homepage </ a> </ li>
<li><a href="/search">Search </ a> </ li> <li><a href="/likes">Likes </ a> </ li> <li><a href="/profile">Profile </ a> </ li> </ ul> </ nav>
Yanlış Bilgi Websitemi, açılmadan önce erişilebilir hale getirebilirim
56.8 ORTALAMA SAYFA BAŞINA KARŞILAŞILAN PROBLEM
Doğru Bilgi Erişilebilirlik bir takım işidir ve baştan itibaren üzerinde
durulmalıdır
ACCESSIBLE BY DEFAULT BİLAL ÇINARLI @bcinarli