é«åºŠãªæ©èœãšå æ¬çãªãã¶ã€ã³ã«çŠç¹ãåœãŠãããããèœåãæã€ãŠãŒã¶ãŒã«ã·ãŒã ã¬ã¹ãªäœéšãæäŸãããã¢ã¯ã»ã·ãã«ãªããŒã¿ã°ãªãããšããŒãã«ã«ã€ããŠè§£èª¬ããŸãã
ã¢ã¯ã»ã·ãã«ãªããŒã¿ã°ãªããïŒé«åºŠãªããŒãã«æ©èœã§ãŠãŒã¶ãŒãæ¯æŽ
ããŒã¿ã°ãªããïŒããŒã¿ããŒãã«ãšãåŒã°ããŸãïŒã¯ãçŸä»£ã®Webã¢ããªã±ãŒã·ã§ã³ã«ãããåºæ¬çãªã³ã³ããŒãã³ãã§ãã倧éã®ããŒã¿ã»ãããæ§é åãããçè§£ãããã圢åŒã§è¡šç€ºããŸããããããåã«ããŒã¿ã衚瀺ããã ãã§ã¯äžååã§ããçã«å¹æçãªããŒã¿ã°ãªããã¯ãèœåã«é¢ãããããã¹ãŠã®ãŠãŒã¶ãŒãã¢ã¯ã»ã¹ã§ãããã®ã§ãªããã°ãªããŸããããã®èšäºã§ã¯ãé«åºŠãªæ©èœãšãã¹ããã©ã¯ãã£ã¹ã«çŠç¹ãåœãŠãã¢ã¯ã»ã·ãã«ãªããŒã¿ã°ãªãããäœæããããã®éèŠãªåŽé¢ãæ¢ããŸãã
ã¢ã¯ã»ã·ãã«ãªããŒã¿ã°ãªãããšã¯ïŒ
ã¢ã¯ã»ã·ãã«ãªããŒã¿ã°ãªãããšã¯ãé害ãæã€äººã ãå©çšã§ããããã«èšèšãããããŒãã«ã³ã³ããŒãã³ãã§ããããã«ã¯ãã¹ã¯ãªãŒã³ãªãŒããŒãããŒããŒãããã²ãŒã·ã§ã³ãé³å£°ã³ã³ãããŒã«ããã®ä»ã®æ¯æŽæè¡ã«äŸåãããŠãŒã¶ãŒãå«ãŸããŸããã¢ã¯ã»ã·ããªãã£ã¯ãåã«æè¡çãªæšæºãéµå®ããã ãã§ãªãããã¹ãŠã®äººã«ãšã£ãŠè¯å®çã§å ¬å¹³ãªãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãåµé ããããšãå«ã¿ãŸãã
WCAGïŒWeb Content Accessibility GuidelinesïŒã®ãããªã¢ã¯ã»ã·ããªãã£ã¬ã€ãã©ã€ã³ã¯ããããéæããããã®ãã¬ãŒã ã¯ãŒã¯ãæäŸããŸãããããã®ã¬ã€ãã©ã€ã³ã«åŸããé©åãªARIAïŒAccessible Rich Internet ApplicationsïŒå±æ§ãå®è£ ããããšã§ãéçºè ã¯ããŒã¿ã°ãªãããæ©èœçãã€å æ¬çã§ããããšãä¿èšŒã§ããŸãã
ããŒã¿ã°ãªããã®ã¢ã¯ã»ã·ããªãã£ã¯ãªãéèŠãïŒ
ã¢ã¯ã»ã·ããªãã£ã¯åãªãæ³çãŸãã¯å«ççãªçŸ©åã§ã¯ãããŸãããè³¢æãªããžãã¹äžã®æ±ºå®ã§ããã¢ã¯ã»ã·ãã«ãªããŒã¿ã°ãªãããéèŠã§ããçç±ã¯æ¬¡ã®ãšããã§ãïŒ
- ãªãŒãã®æ¡å€§ïŒ ã¢ã¯ã»ã·ãã«ãªããŒã¿ã°ãªããã¯ãé害ãæã€äººã ãå«ããããå¹ åºãå©çšè ã«ã¢ããªã±ãŒã·ã§ã³ãéããŸããäžçä¿å¥æ©é¢ã«ãããšãäžçäžã§10å人以äžãäœããã®åœ¢ã®é害ãæã£ãŠç掻ããŠããŸãã
- ãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã®åäžïŒ ã¢ã¯ã»ã·ããªãã£æ©èœã¯ãé害ãæã€ãŠãŒã¶ãŒã ãã§ãªãããã¹ãŠã®ãŠãŒã¶ãŒã«å©çãããããããšããããããŸããæç¢ºãªã©ããªã³ã°ãè«ççãªããã²ãŒã·ã§ã³ãããŒããŒããµããŒãã¯ã誰ã«ãšã£ãŠã䜿ãããããåäžãããŸãã
- æ³çã³ã³ãã©ã€ã¢ã³ã¹ïŒ å€ãã®åœã«ã¯ããŠã§ããµã€ããã¢ããªã±ãŒã·ã§ã³ãã¢ã¯ã»ã·ãã«ã§ããããšãèŠæ±ããæ³åŸãèŠå¶ããããŸãããããã®æ³åŸãéµå®ããããšã§ãé«é¡ãªèšŽèšãåé¿ã§ããŸããäŸãšããŠãç±³åœã®é害ãæã€ã¢ã¡ãªã«äººæ³ïŒADAïŒãã«ããã®ãªã³ã¿ãªãªå·é害è ã¢ã¯ã»ã·ããªãã£æ³ïŒAODAïŒã欧å·ã®EN 301 549ãªã©ããããŸãã
- SEOã®åŒ·åïŒ æ€çŽ¢ãšã³ãžã³ã¯ãã¢ã¯ã»ã·ãã«ã§åªãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãæäŸãããŠã§ããµã€ããåªå ããŸããã¢ã¯ã»ã·ãã«ãªããŒã¿ã°ãªããã¯ãããSEOãã¬ã³ããªãŒãªãŠã§ããµã€ãã«è²¢ç®ããŸãã
- ããžãã£ããªãã©ã³ãã€ã¡ãŒãžïŒ ã¢ã¯ã»ã·ããªãã£ãžã®åãçµã¿ã瀺ãããšã¯ããã©ã³ãã®è©å€ãé«ãããŠãŒã¶ãŒãšã®è¯å¥œãªé¢ä¿ãè²ã¿ãŸãã
ããŒã¿ã°ãªããã®äž»èŠãªã¢ã¯ã»ã·ããªãã£æ©èœ
ã¢ã¯ã»ã·ãã«ãªããŒã¿ã°ãªãããäœæããã«ã¯ãããã€ãã®äž»èŠãªæ©èœãæ éã«æ€èšããå¿ èŠããããŸãïŒ
1. ã»ãã³ãã£ãã¯ãªHTMLæ§é
<table>
ã<thead>
ã<tbody>
ã<tr>
ã<th>
ã<td>
ã®ãããªã»ãã³ãã£ãã¯HTMLèŠçŽ ã䜿çšããããšã¯ãã¢ã¯ã»ã·ãã«ãªããŒã¿ã°ãªããã®åºç€ã§ãããããã®èŠçŽ ã¯ã³ã³ãã³ãã«æ§é ãšæå³ãæäŸããæ¯æŽæè¡ãæ
å ±ãæ£ããè§£éããŠæç€ºã§ããããã«ããŸãã
äŸïŒ
<table>
<thead>
<tr>
<th scope="col">Name</th>
<th scope="col">Country</th>
<th scope="col">Age</th>
</tr>
</thead>
<tbody>
<tr>
<td>John Doe</td>
<td>USA</td>
<td>30</td>
</tr>
<tr>
<td>Jane Smith</td>
<td>Canada</td>
<td>25</td>
</tr>
</tbody>
</table>
<th>
èŠçŽ ã®scope="col"
屿§ã¯ãããããŒã»ã«ããã®åã®ãã¹ãŠã®ã»ã«ã«é©çšãããããšã瀺ããŸããããã¯ãã¹ã¯ãªãŒã³ãªãŒããŒã®ãŠãŒã¶ãŒãããŒã¿ã®æèãçè§£ããããã«éåžžã«éèŠã§ãã
2. ARIA屿§
ARIA屿§ã¯HTMLèŠçŽ ã®ã»ãã³ãã£ã¯ã¹ã匷åããæ¯æŽæè¡ã«è¿œå æ å ±ãæäŸããŸãããããã¯ãHTMLã§ãã€ãã£ãã«ãµããŒããããŠããªãè€éãªããŒã¿ã°ãªããæ©èœã«ãšã£ãŠç¹ã«éèŠã§ãã
ããŒã¿ã°ãªããã§äžè¬çã«äœ¿çšãããARIA屿§ïŒ
aria-label
ïŒããŒã¿ã°ãªããå šäœã«èª¬æçãªã©ãã«ãæäŸããŸããaria-describedby
ïŒããŒã¿ã°ãªãããè£è¶³çãªèª¬æããã¹ãã«ãªã³ã¯ããŸããaria-sort
ïŒåã®ãœãŒãé ïŒæé ãéé ããªããªã©ïŒã瀺ããŸããaria-selected
ïŒè¡ãŸãã¯ã»ã«ãéžæãããŠãããã©ããã瀺ããŸããaria-readonly
ïŒã»ã«ãèªã¿åãå°çšã§ãããã©ããã瀺ããŸããrole="grid"
ïŒããŒãã«ãã°ãªãããšããŠæç€ºçã«å®çŸ©ããŸããrole="row"
ïŒã°ãªããå ã®è¡ãæç€ºçã«å®çŸ©ããŸããrole="columnheader"
ïŒåããããŒãæç€ºçã«å®çŸ©ããŸããrole="gridcell"
ïŒã°ãªããå ã®ã»ã«ãæç€ºçã«å®çŸ©ããŸãã
äŸïŒARIAã䜿çšãããœãŒã
<th scope="col" aria-sort="ascending">Name</th>
ãã®ã³ãŒãã¹ããããã¯ããNameãåãçŸåšæé ã§ãœãŒããããŠããããšã瀺ããŸãããŠãŒã¶ãŒãããããŒãã¯ãªãã¯ããŠãœãŒãé ã倿Žãããšãaria-sort
屿§ãããã«å¿ããŠæŽæ°ãããã¹ãã§ãã
3. ããŒããŒãããã²ãŒã·ã§ã³
ããŠã¹ã䜿çšã§ããªããŠãŒã¶ãŒã¯ãWebã¢ããªã±ãŒã·ã§ã³ãæäœããããã«ããŒããŒãããã²ãŒã·ã§ã³ã«äŸåããŸããã¢ã¯ã»ã·ãã«ãªããŒã¿ã°ãªããã¯ãçŽæçã§å¹ççãªããŒããŒããµããŒããæäŸããªããã°ãªããŸããã
å¿ é ã®ããŒããŒãæäœïŒ
- TabïŒ ããŒã¿ã°ãªããå ã®èŠçŽ éãããã³ã°ãªããå€ã®æ¬¡ã®ãã©ãŒã«ã¹å¯èœãªèŠçŽ ã«ãã©ãŒã«ã¹ãç§»åããŸãã
- ç¢å°ããŒïŒ ã°ãªããå ã®ã»ã«éã«ãã©ãŒã«ã¹ãç§»åããŸãã
- Home/EndïŒ è¡ã®æåãŸãã¯æåŸã®ã»ã«ã«ãã©ãŒã«ã¹ãç§»åããŸãã
- Page Up/Page DownïŒ 1ããŒãžåãã©ãŒã«ã¹ãäžäžã«ç§»åããŸãã
- Spacebar/EnterïŒ ã»ã«ãã¢ã¯ãã£ãã«ããŸãïŒäŸïŒç·šéã®ããïŒã
ã«ã¹ã¿ã ã®ããŒããŒãããã²ãŒã·ã§ã³åäœãå®è£ ããã«ã¯ãéåžžJavaScriptãå¿ èŠã§ãããã©ãŒã«ã¹ãæç¢ºã«èŠããããã«ãããŠãŒã¶ãŒãã°ãªããå ã®ã©ãã«ããããç°¡åã«çè§£ã§ããããã«ããŠãã ããã
4. ãã©ãŒã«ã¹ç®¡ç
é©åãªãã©ãŒã«ã¹ç®¡çã¯ãããŒããŒããŠãŒã¶ãŒãã¹ã¯ãªãŒã³ãªãŒããŒãŠãŒã¶ãŒã«ãšã£ãŠéåžžã«éèŠã§ãããã©ãŒã«ã¹ã¯åžžã«è¡šç€ºãããäºæž¬å¯èœã§ãªããã°ãªãããããŒã¿ã°ãªããå ãè«ççã«ç§»åããå¿ èŠããããŸãã
ãã©ãŒã«ã¹ç®¡çã®ãã¹ããã©ã¯ãã£ã¹ïŒ
- CSSã䜿çšããŠãã©ãŒã«ã¹ã€ã³ãžã±ãŒã¿ãã¹ã¿ã€ã«ããïŒ ãã©ãŒã«ã¹ã€ã³ãžã±ãŒã¿ãæç¢ºã«èŠããåšå²ã®èŠçŽ ãšåºå¥ã§ããããã«ããŸããããã©ã«ãã®ãã©ãŠã¶ã®ãã©ãŒã«ã¹ã¢ãŠãã©ã€ã³ã ãã«é Œãã®ã¯ãäžååãªå Žåãããããé¿ããŠãã ããã
- ã°ãªããå ã«ãã©ãŒã«ã¹ããã©ããããïŒãªãã·ã§ã³ïŒïŒ å Žåã«ãã£ãŠã¯ããŠãŒã¶ãŒãæç€ºçã«çµäºããïŒäŸïŒEscapeããŒãæŒãïŒãŸã§ãããŒã¿ã°ãªããå ã«ãã©ãŒã«ã¹ããã©ããããããšãæãŸããããšããããŸããããã¯ãå€ãã®ã€ã³ã¿ã©ã¯ãã£ããªèŠçŽ ãæã€è€éãªã°ãªããã«åœ¹ç«ã¡ãŸãã
- ããã°ã©ã ã«ãããã©ãŒã«ã¹èšå®ïŒ ããŒã¿ã°ãªãããæåã«èªã¿èŸŒãŸãããšããããŠãŒã¶ãŒãç¹å®ã®èŠçŽ ãæäœãããšãã«ãããã°ã©ã ã«ãã£ãŠé©åãªã»ã«ãã³ã³ãããŒã«ã«ãã©ãŒã«ã¹ãèšå®ããŸãã
5. è²ã®ã³ã³ãã©ã¹ã
ããã¹ããšèæ¯ã®éã«ååãªè²ã®ã³ã³ãã©ã¹ãã確ä¿ããããšã¯ãããŒããžã§ã³ã®ãŠãŒã¶ãŒã«ãšã£ãŠäžå¯æ¬ ã§ããWCAGã§ã¯ãéåžžã®ããã¹ãã«ã¯å°ãªããšã4.5:1ã倧ããªããã¹ãã«ã¯3:1ã®ã³ã³ãã©ã¹ãæ¯ãèŠæ±ãããŸãã
è²ã®ã³ã³ãã©ã¹ãã確èªããããã®ããŒã«ïŒ
- WebAIM Color Contrast Checker
- WCAG Contrast Checker
- Colour Contrast Analyser (CCA)
ãããã®ããŒã«ã䜿çšããŠãããŒã¿ã°ãªãããæå°éã®è²ã®ã³ã³ãã©ã¹ãèŠä»¶ãæºãããŠããããšã確èªããŠãã ããã
6. ã¹ã¯ãªãŒã³ãªãŒããŒãšã®äºææ§
é©åã«èšèšãããããŒã¿ã°ãªããã¯ãã¹ã¯ãªãŒã³ãªãŒããŒãšå®å šã«äºææ§ãããã¹ãã§ããããã¯ãã¹ã¯ãªãŒã³ãªãŒããŒãã°ãªããã®æ§é ãåã»ã«ã®å 容ãããã³é¢é£ããARIA屿§ãæ£ç¢ºã«èªã¿äžããããšãã§ããããšãæå³ããŸãã
ã¹ã¯ãªãŒã³ãªãŒããŒã§ã®ãã¹ãïŒ
- NVDA (NonVisual Desktop Access)ïŒ Windowsçšã®ç¡æã®ãªãŒãã³ãœãŒã¹ã¹ã¯ãªãŒã³ãªãŒããŒã
- JAWS (Job Access With Speech)ïŒ Windowsçšã®äººæ°ã®åçšã¹ã¯ãªãŒã³ãªãŒããŒã
- VoiceOverïŒ macOSããã³iOSã«çµã¿èŸŒãŸããŠããã¹ã¯ãªãŒã³ãªãŒããŒã
ããŸããŸãªã¹ã¯ãªãŒã³ãªãŒããŒã§ããŒã¿ã°ãªããã培åºçã«ãã¹ãããã¢ã¯ã»ã·ããªãã£ã®åé¡ãç¹å®ããŠä¿®æ£ããŠãã ããã
7. ç»åã®ä»£æ¿ããã¹ã
ããŒã¿ã°ãªããã«ç»åãå«ãŸããŠããå Žåã¯ãalt
屿§ã䜿çšããŠèª¬æçãªä»£æ¿ããã¹ããæäŸããŠãã ããã代æ¿ããã¹ãã¯ãç»åãèŠãããšãã§ããªããŠãŒã¶ãŒã«ããã®ç»åã®æå³ãšç®çãäŒãããã®ã§ãªããã°ãªããŸããã
äŸïŒ
<img src="/images/sort-ascending.png" alt="Sort Ascending">
8. æç¢ºã§ç°¡æœãªã©ãã«
ããŒã¿ã°ãªããå
ã®ãã¿ã³ããã§ãã¯ããã¯ã¹ãããããããŠã³ã¡ãã¥ãŒãªã©ã®ãã¹ãŠã®ã€ã³ã¿ã©ã¯ãã£ããªèŠçŽ ã«ã¯ãæç¢ºã§ç°¡æœãªã©ãã«ãå¿
èŠã§ãããããã®ã©ãã«ã¯ãèŠçŽ ã®ç®çãæ£ç¢ºã«èšè¿°ãã<label>
èŠçŽ ãŸãã¯aria-label
ãaria-labelledby
屿§ã䜿çšããŠèŠçŽ ã«é¢é£ä»ããããã¹ãã§ãã
9. ã¬ã¹ãã³ã·ããã¶ã€ã³
ã¢ã¯ã»ã·ãã«ãªããŒã¿ã°ãªããã¯ãã¬ã¹ãã³ã·ãã§ãããããŸããŸãªç»é¢ãµã€ãºãããã€ã¹ã«é©å¿ããå¿ èŠããããŸããããã¯ãã¢ãã€ã«ããã€ã¹ãç»é¢æ¡å€§é¡ã䜿çšããŠã°ãªããã«ã¢ã¯ã»ã¹ãããŠãŒã¶ãŒã«ãšã£ãŠç¹ã«éèŠã§ãã
ã¬ã¹ãã³ã·ããªããŒã¿ã°ãªããã®ããã®ãã¯ããã¯ïŒ
- æ°Žå¹³ã¹ã¯ããŒã«ïŒ å°ããªç»é¢ã«åãŸããªãã»ã©åºãããŒãã«ã«ã¯ãæ°Žå¹³ã¹ã¯ããŒã«ãèš±å¯ããŸãã
- åã®ã¹ã¿ãã¯ïŒ å°ããªç»é¢ã§ã¯åãåçŽã«ç©ã¿éããŠãããŒã¿ãèªã¿ãããããŸãã
- ããã°ã¬ãã·ãã»ãã£ã¹ã¯ããŒãžã£ãŒïŒ å°ããªç»é¢ã§ã¯éèŠåºŠã®äœãåãé衚瀺ã«ããå¿ èŠã«å¿ããŠãŠãŒã¶ãŒã衚瀺ã§ããããã«ããæ¹æ³ãæäŸããŸãã
é«åºŠãªæ©èœãšã¢ã¯ã»ã·ããªãã£ã«é¢ããèæ ®äºé
å€ãã®ããŒã¿ã°ãªããã«ã¯ã次ã®ãããªé«åºŠãªæ©èœãå«ãŸããŠããŸãïŒ
- ãœãŒã
- ãã£ã«ã¿ãªã³ã°
- ããŒãžããŒã·ã§ã³
- ã€ã³ã©ã€ã³ç·šé
- åã®ãµã€ãºå€æŽ
- è¡ã®éžæ
- ããŒã¿ã®ãšã¯ã¹ããŒã
ãããã®åæ©èœã¯ãã¢ã¯ã»ã·ããªãã£ã確ä¿ããããã«æ éã«å®è£ ããå¿ èŠããããŸãã
ãœãŒã
åè¿°ã®ããã«ãaria-sort
屿§ã䜿çšããŠåã®ãœãŒãé ã瀺ããŸãããœãŒãé ãèŠèŠçã«æç¢ºã«ç€ºããŸãïŒäŸïŒç¢å°ã¢ã€ã³ã³ïŒãããŒããŒããŠãŒã¶ãŒãåããããŒã§EnterããŒãŸãã¯SpacebarããŒãæŒãããšã§ãœãŒããæå¹ã«ã§ããããã«ããŠãã ããã
ãã£ã«ã¿ãªã³ã°
ãã£ã«ã¿ãªã³ã°ã³ã³ãããŒã«ã¯æç¢ºã«ã©ãã«ä»ããããããŒããŒããŠãŒã¶ãŒãã¹ã¯ãªãŒã³ãªãŒããŒãŠãŒã¶ãŒãã¢ã¯ã»ã¹ã§ããããã«ããå¿ èŠããããŸããARIA屿§ã䜿çšããŠããã£ã«ã¿ãŒæ¡ä»¶ãçµæã®æ°ã«é¢ããè¿œå æ å ±ãæäŸããŸããããã£ã«ã¿ãŒãã¯ãªã¢ããã¿ã³ãæäŸããŠããã£ã«ã¿ãŒãç°¡åã«ãªã»ããã§ããããã«ããããšãæ€èšããŠãã ããã
ããŒãžããŒã·ã§ã³
ããŒãžããŒã·ã§ã³ã³ã³ãããŒã«ã¯ãããŒããŒãã§ç°¡åã«ããã²ãŒãã§ããå¿ èŠããããŸããARIA屿§ã䜿çšããŠãçŸåšã®ããŒãžçªå·ãšç·ããŒãžæ°ã瀺ããŸããç¹å®ã®ããŒãžãžã®çŽæ¥ãªã³ã¯ããããŒãžãžç§»åãå ¥åãã£ãŒã«ããæäŸããããšãæ€èšããŠãã ããã
ã€ã³ã©ã€ã³ç·šé
ã»ã«ãç·šéã¢ãŒãã«ãããšãã¯ããã©ãŒã«ã¹ãèªåçã«å ¥åãã£ãŒã«ãã«ç§»åããããã«ããŸããARIA屿§ã䜿çšããŠãã»ã«ãç·šéå¯èœã§ããããšã瀺ãã倿Žãä¿åãŸãã¯ãã£ã³ã»ã«ããæ¹æ³ã«ã€ããŠã®æç€ºãæäŸããŸããç¡å¹ãªå ¥åã«å¯ŸããŠã¯ãæç¢ºãªãšã©ãŒã¡ãã»ãŒãžãæäŸããŠãã ããã
åã®ãµã€ãºå€æŽ
åã®ãµã€ãºå€æŽãã¢ã¯ã»ã·ãã«ã«ããããšã¯é£ããå ŽåããããŸããã³ã³ããã¹ãã¡ãã¥ãŒãèšå®ããã«ãªã©ãåã®å¹ ã調æŽããããã®ä»£æ¿æ¹æ³ãæäŸããããšãæ€èšããŠãã ãããããŠã¹ã§åã®ãµã€ãºã倿Žã§ããããã«ããå Žåã¯ãããŒããŒããŠãŒã¶ãŒãããŒããŒãã·ã§ãŒãã«ããã䜿çšããŠåã®ãµã€ãºã倿Žã§ããããã«ããŠãã ããã
è¡ã®éžæ
aria-selected
屿§ã䜿çšããŠãè¡ãéžæãããŠãããã©ããã瀺ããŸããéžæãããè¡ãèŠèŠçã«æç¢ºã«ç€ºããŸãããŠãŒã¶ãŒãããŒããŒãã䜿çšããŠè¡ãéžæã§ããããã«ããŸãïŒäŸïŒè¡ã§SpacebarããŒãæŒãïŒã
ããŒã¿ã®ãšã¯ã¹ããŒã
CSVãã¢ã¯ã»ã·ãã«ãªPDFãªã©ãã¢ã¯ã»ã·ãã«ãªåœ¢åŒã§ããŒã¿ããšã¯ã¹ããŒããããªãã·ã§ã³ãæäŸããŸãããšã¯ã¹ããŒããããããŒã¿ã«ã¯ããã¹ãŠã®é¢é£æ å ±ãå«ãŸããæ¯æŽæè¡åãã«é©åã«æ§é åãããŠããããšã確èªããŠãã ããã
ããŒã¿ã°ãªããã®ã¢ã¯ã»ã·ããªãã£ã«é¢ããããŒã«ãšãªãœãŒã¹
- WebAIMïŒ Webã¢ã¯ã»ã·ããªãã£ã«é¢ããå æ¬çãªæ å ±ãšãªãœãŒã¹ãæäŸããŸãã
- WAI-ARIA Authoring Practices 1.1ïŒ ARIA屿§ãæ£ãã䜿çšããããã®ã¬ã€ãã
- Deque UniversityïŒ Webã¢ã¯ã»ã·ããªãã£ã«é¢ãããªã³ã©ã€ã³ã³ãŒã¹ãšãã¬ãŒãã³ã°ãæäŸããŸãã
- Lighthouse (Chrome DevTools)ïŒ WebããŒãžã®ã¢ã¯ã»ã·ããªãã£åé¡ãç£æ»ããããã®èªååããŒã«ã
- axe DevToolsïŒ ã¢ã¯ã»ã·ããªãã£ã®æ¬ é¥ãç¹å®ããããã®ãã©ãŠã¶æ¡åŒµæ©èœã
- eslint-plugin-jsx-a11yïŒ React JSXã§ã¢ã¯ã»ã·ããªãã£ã®ãã¹ããã©ã¯ãã£ã¹ã匷å¶ããããã®ESLintãã©ã°ã€ã³ã
- React VirtualizedïŒ å€§èŠæš¡ãªãªã¹ãã衚圢åŒããŒã¿ãå¹ççã«ã¬ã³ããªã³ã°ããããã®Reactã³ã³ããŒãã³ãã©ã€ãã©ãªãARIAãµããŒããšããŒããŒãããã²ãŒã·ã§ã³ãæäŸããŸãã
- TanStack TableïŒ ReactãSolidãVueãSvelteãªã©ã§åŒ·åãªããŒãã«ãããŒã¿ã°ãªãããæ§ç¯ããããã®ãããã¬ã¹UIãå æ¬çãªã¢ã¯ã»ã·ããªãã£ããã¯ãåããŠããŸãã
ãã¹ããšæ€èšŒ
ã¢ã¯ã»ã·ããªãã£ãã¹ãã¯ãéçºããã»ã¹ã®äžå¯æ¬ ãªéšåã§ããã¹ãã§ããæ¯æŽæè¡ãèªååããŒã«ã䜿çšããŠå®æçã«ãã¹ãã宿œããã¢ã¯ã»ã·ããªãã£ã®åé¡ãæ©æã«ç¹å®ããŠä¿®æ£ããŸãã
ããŒã¿ã°ãªããã®ã¢ã¯ã»ã·ããªãã£ããã¹ãããæé ïŒ
- èªåãã¹ãïŒ Lighthouseãaxe DevToolsãªã©ã®ããŒã«ã䜿çšããŠãäžè¬çãªã¢ã¯ã»ã·ããªãã£ãšã©ãŒãç¹å®ããŸãã
- æåãã¹ãïŒ ããŒããŒããšã¹ã¯ãªãŒã³ãªãŒããŒã§ããŒã¿ã°ãªããããã¹ãããé害ãæã€äººã ã䜿çšã§ããããšã確èªããŸãã
- ãŠãŒã¶ãŒãã¹ãïŒ é害ãæã€ãŠãŒã¶ãŒããã¹ãããã»ã¹ã«åå ãããããŒã¿ã°ãªããã®ã¢ã¯ã»ã·ããªãã£ã«é¢ãããã£ãŒãããã¯ãåŸãŸãã
ã¢ã¯ã»ã·ããªãã£ãç¶æããããã®ãã¹ããã©ã¯ãã£ã¹
- ã¢ã¯ã»ã·ããªãã£ãžã®åãçµã¿ãææžåããïŒ ã¢ã¯ã»ã·ããªãã£ã«é¢ããããªã·ãŒãšæé ãæŠèª¬ããææžãäœæããŸãã
- éçºããŒã ããã¬ãŒãã³ã°ããïŒ Webã¢ã¯ã»ã·ããªãã£ã®ãã¹ããã©ã¯ãã£ã¹ã«ã€ããŠéçºããŒã ã«ãã¬ãŒãã³ã°ãæäŸããŸãã
- ã³ãŒãã¬ãã¥ãŒããã»ã¹ã確ç«ããïŒ ã³ãŒãã¬ãã¥ãŒããã»ã¹ã«ã¢ã¯ã»ã·ããªãã£ãã§ãã¯ãå«ããŸãã
- ã¢ã¯ã»ã·ããªãã£åºæºã®ææ°æ å ±ãå ¥æããïŒ WCAGã¯åžžã«é²åããŠããŸããææ°ã®ã¬ã€ãã©ã€ã³ãšãã¹ããã©ã¯ãã£ã¹ã«ã€ããŠã®æ å ±ãåžžã«ææ¡ããŠãããŸãããã
- ããŒã¿ã°ãªããã®ã¢ã¯ã»ã·ããªãã£åé¡ãç£èŠããïŒ èªååããŒã«ãšæåãã¹ãã䜿çšããŠãããŒã¿ã°ãªããã®ã¢ã¯ã»ã·ããªãã£åé¡ãç¶ç¶çã«ç£èŠããŸãã
çµè«
ã¢ã¯ã»ã·ãã«ãªããŒã¿ã°ãªãããäœæããããšã¯ããã¹ãŠã®äººã«è¯å®çã§å ¬å¹³ãªãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãæäŸããããã«äžå¯æ¬ ã§ãããã®èšäºã§æŠèª¬ããã¬ã€ãã©ã€ã³ãšãã¹ããã©ã¯ãã£ã¹ã«åŸãããšã§ãéçºè ã¯æ©èœçãã€å æ¬çãªããŒã¿ã°ãªãããæ§ç¯ã§ããŸããã¢ã¯ã»ã·ããªãã£ã¯ç¶ç¶çãªããã»ã¹ã§ãããç¶ç¶çãªæ¹åãžã®ã³ãããã¡ã³ããå¿ èŠã§ããããšãå¿ããªãã§ãã ãããã¢ã¯ã»ã·ãã«ãªãã¶ã€ã³ååãåãå ¥ããããšã¯ãé害ãæã€ãŠãŒã¶ãŒã«å©çãããããã ãã§ãªãããã¹ãŠã®ãŠãŒã¶ãŒã«ãšã£ãŠWebã¢ããªã±ãŒã·ã§ã³ã®äœ¿ãããããšå šäœçãªå質ãåäžãããŸãã
ããŸããŸãªã³ã³ããã¹ãã«ãããã¢ã¯ã»ã·ãã«ãªããŒã¿ã°ãªããã®äŸ
以äžã«ãããŸããŸãªã³ã³ããã¹ãã§ã¢ã¯ã»ã·ãã«ãªããŒã¿ã°ãªãããå®è£ ããæ¹æ³ã®äŸãããã€ã瀺ããŸãïŒ
- Eã³ããŒã¹ïŒ äŸ¡æ Œãè©äŸ¡ã人æ°åºŠã§ãœãŒãå¯èœãªåãæã€ååãªã¹ãã衚瀺ããŸããååããããŒã«ã¯
aria-sort
屿§ããããããŒããŒããŠãŒã¶ãŒã¯ãœãŒããæå¹ã«ã§ããŸãã - éèããã·ã¥ããŒãïŒ æ¥ä»ãååŒé¡ãã«ããŽãªã§ãœãŒãå¯èœãªåãæã€éèããŒã¿ã衚瀺ããŸããã¹ã¯ãªãŒã³ãªãŒããŒã¯åããããŒãšããŒã¿å€ãæ£ç¢ºã«èªã¿äžããŸãã
- ãã«ã¹ã±ã¢ã¢ããªã±ãŒã·ã§ã³ïŒ é£çµ¡å æ å ±ãæŽæ°ããããã®ã€ã³ã©ã€ã³ç·šéæ©èœãåããæ£è èšé²ã衚瀺ããŸããã»ã«ãç·šéã¢ãŒãã«ãªããšããã©ãŒã«ã¹ã¯èªåçã«å ¥åãã£ãŒã«ãã«ç§»åããARIA屿§ã倿Žã®ä¿åãŸãã¯ãã£ã³ã»ã«æ¹æ³ã®æç€ºãæäŸããŸãã
- æ¿åºã®ãŠã§ããµã€ãïŒ å Žæã人å£ããã®ä»ã®äººå£çµ±èšããŒã¿ã§ãã£ã«ã¿ãªã³ã°å¯èœãªåãæã€å ¬éããŒã¿ã衚瀺ããŸãããã£ã«ã¿ãŒã³ã³ãããŒã«ã¯æç¢ºã«ã©ãã«ä»ããããããŒããŒããŠãŒã¶ãŒãã¢ã¯ã»ã¹ã§ããŸãã
- æè²ãã©ãããã©ãŒã ïŒ èª²é¡åãæåºæéãã¹ã³ã¢ã§ãœãŒãå¯èœãªåãæã€åŠçã®æçžŸã衚瀺ããŸããããŒããžã§ã³ã®åŠçã®èªã¿ãããã確ä¿ããããã«ãè²ã®ã³ã³ãã©ã¹ããæ éã«èæ ®ãããŠããŸãã
ããŒã¿ã°ãªããã®ã¢ã¯ã»ã·ããªãã£ã®æªæ¥
Webæè¡ãé²åããã«ã€ããŠãããŒã¿ã°ãªããã®ã¢ã¯ã»ã·ããªãã£ã«é¢ããæšæºãšãã¹ããã©ã¯ãã£ã¹ãé©å¿ãç¶ããŸããããã€ãã®æ°ããªãã¬ã³ãã¯æ¬¡ã®ãšããã§ãïŒ
- ARIA 1.2ã®æ¡çšæ¡å€§ïŒ ARIA 1.2ã§ã¯ãè€éãªWebã³ã³ããŒãã³ãã®ã¢ã¯ã»ã·ããªãã£ãããã«åäžãããããšãã§ããæ°ããããŒã«ãšå±æ§ãå°å ¥ãããŠããŸãã
- ARIAã«å¯Ÿããã¹ã¯ãªãŒã³ãªãŒããŒãµããŒãã®åäžïŒ ã¹ã¯ãªãŒã³ãªãŒããŒã®ãã³ããŒã¯ãARIA屿§ã®ãµããŒããæ¹åããããã«åžžã«åãçµãã§ããŸãã
- èªç¥ã¢ã¯ã»ã·ããªãã£ãžã®é¢å¿ã®é«ãŸãïŒ èªç¥ã¢ã¯ã»ã·ããªãã£ã¯ãåŠç¿éå®³ãæ³šææ¬ é¥ãªã©ã®èªç¥é害ãæã€ãŠãŒã¶ãŒã®ããŒãºã«å¯Ÿå¿ããŸãã
- AIãæŽ»çšããã¢ã¯ã»ã·ããªãã£ããŒã«ïŒ 人工ç¥èœã¯ãã¢ã¯ã»ã·ããªãã£ã®ãã¹ããšä¿®æ£ã®äžéšãèªååããããã«äœ¿çšãããŠããŸãã
ãããã®ãã¬ã³ãã«ã€ããŠåžžã«æ å ±ãåŸãŠãæ°ããæè¡ãåãå ¥ããããšã§ãéçºè ã¯å°æ¥ã«ããã£ãŠããŒã¿ã°ãªããããã¹ãŠã®ãŠãŒã¶ãŒã«ã¢ã¯ã»ã·ãã«ã§ããç¶ããããšãä¿èšŒã§ããŸãã