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
JSDC
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Mu-An Chiou
October 12, 2014
Programming
560
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
JSDC
Talk @ JSDC 2014
12.10.2014
Mu-An Chiou
October 12, 2014
More Decks by Mu-An Chiou
See All by Mu-An Chiou
Details on <details>
muan
0
390
Publishing and Hosting on GitHub pages
muan
4
170
Having no patience(Japanese)
muan
1
410
Design with Code
muan
5
590
Having no patience
muan
1
330
Design in GitHub
muan
5
390
Project Lab Squirrel #2
muan
1
680
Project Lab Squirrel #1
muan
8
910
A girl with no patience
muan
18
2k
Other Decks in Programming
See All in Programming
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
170
地域 SRE コミュニティ最前線 - ホンマでっかSRE勉強会
tk3fftk
0
240
act1-costs.pdf
sumedhbala
0
230
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
140
「正の参照」と 「負の導出」で組む ハーネスエンジニアリング
cottpan
1
140
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
270
【やさしく解説 設計編 #1】「ドメイン駆動」と「実装駆動」ってなに? 〜設計の考え方を、たとえ話で学ぼう〜
panda728
PRO
1
120
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
210
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
500
The Bowling Game- From Imperative to Functional Programming - Part 1
philipschwarz
PRO
0
330
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
0
280
Claude Opus 4.6以後の受託開発エンジニアの変化(Claude Code開発ノウハウ大公開スペシャルbyクラスメソッド)
iidatakuma
1
780
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
64
56k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
220
WCS-LA-2024
lcolladotor
0
720
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
Raft: Consensus for Rubyists
vanstee
141
7.6k
Side Projects
sachag
455
43k
The World Runs on Bad Software
bkeepers
PRO
72
12k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
sira's awesome portfolio website redesign presentation
elsirapls
0
300
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
370
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
810
Transcript
! େᯃ "
twitter@muanchiou github@muan
None
ᅇᅇح zeczec.com
! github.com
236 hubbers are spread across 101 cities right now
None
muan & jlord defunkt
Be asynchronous
Be non-blocking
@github/css @github/design @github/engineering @github/accessibility @github/billing @github/education
@github/ @github/ @github/ @github/ @github/ @github/ $44 ઃܭ ఔ ແো
ڭҭ
@github/css @github/design @github/engineering @github/accessibility @github/billing @github/education
engineering
engineering design css accessibility
The front-end team Linting + CI Accessibility
The front-end team
DESIGN FRONT-END
FRONT-END + DESIGN
FRONT-END + DESIGN Serious JavaScripters
PROTOTYPES # $
CARES ABOUT CODE ♥ $
ALWAYS INVOLVED &
DESIGN + CODE = +
Linting + CI
' ( ) * + ଌࢼᔒա, ෆڅ㟬EFQMPZ。
None
None
These classes are no where to be found: ! .avatar-upload-label
.billing-extra-yolo .login-form-fixed Stale selectors and partials
These selectors are too damn complicated: ! #adv_code_search .enterprise .site-search
.search-page-label: body.page-profile .profilecols .tabnav .pagehead-actions li.t .discussion-hidden .timeline-comment-content .timeline-commen .prose-diff > .markdown-body li .wraps-task-list-item-checkbo Deep selectors
Stylesheets should not contain js- prefixed classes: ! .js-avatar-uploader .js-prorated-for-days
.js-branch-name-suggestion Special prefixed classes
Stylesheets should not contain js- prefixed classes: ! .js-avatar-uploader .js-prorated-for-days
.js-branch-name-suggestion Special prefixed classes git grep -n '[#.]js-' -- app/assets/stylesheets
Accessibility
Limited resources ➡️ Reactive
None
None
The ALT attribute if(!img.hasAttribute('alt')) { console.warn(“Missing alt attribute on", img)
} if(!img.hasAttribute('alt')) { console.warn(“Missing alt attribute on", img) }
label.control if(!label.control) { console.warn("Label missing control”, label) }
<a>/anchor tag declaration if(!this.getAttribute("href") || !this.getAttribute("role") == “button") { console.warn("Missing
link declaration", link) }
Accessible text – aria-label text = node.innerText text += node.getAttribute(‘alt')
text += node.getAttribute(‘aria-label') ! if(text.length == 0) { console.warn("Missing accessible text", this) }
None
Be asynchronous
Be non-blocking
DESIGN + CODE = +
Lint your code
Care about accessibility
Accessibility Camps www.accessibilitycamp.org
WE HAVE STICKERS
None