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
52
Navigating with Unknowns
bcinarli
1
49
Story of a Boring Work
bcinarli
0
29
Refactoring Frontend
bcinarli
0
57
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.3k
Other Decks in Technology
See All in Technology
Claude Code並行開発環境の ムダ‧ムラ‧ムリを見直した話
muranakaaa
0
300
reFACToring
moznion
1
880
最高のシステムプロンプトを作るためにフィードバック機能を導入した話
alchemy1115
0
220
エンタープライズデータへ安全につなぐ Production-ready なエージェント設計 ― AI × MCP リファレンスアーキテクチャ ― #AIDevDay
cdataj
1
300
CloudWatchから始めるAWS監視
butadora
0
280
GMOフィナンシャルゲートが挑む、「止まらない」決済インフラ構築の裏側【SORACOM Discovery 2026】
soracom
PRO
0
110
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
53k
ソフトウェアアーキテクチャ研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
2
990
データ活用研修 データマネジメント【MIXI 26新卒技術研修】
mixi_engineers
PRO
4
780
Retriever と Reranker、結局どうする?
kazuaki
1
460
AIがAPIを書く時代に、私たちは何を設計すべきか
nagix
0
160
ダッシュボード"開発"について 〜使われるダッシュボードのつくりかた〜
kimichan
0
240
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Exploring anti-patterns in Rails
aemeredith
3
450
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
440
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
400
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
400
Abbi's Birthday
coloredviolet
3
8.9k
Raft: Consensus for Rubyists
vanstee
141
7.6k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
360
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
Making Projects Easy
brettharned
120
6.7k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
420
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