Webã¢ããªã±ãŒã·ã§ã³ã®ããã¹ãã¬ã³ããªã³ã°ããã©ãŒãã³ã¹ãæé©åããããã®é«åºŠãªCSSãã¯ããã¯ãæ¢ããŸããã¿ã€ãã°ã©ãã£èšç®ãæ¹åããã¬ã€ã¢ãŠãã¹ã©ãã·ã³ã°ãåæžãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãåäžãããæ¹æ³ãåŠã³ãŸãã
CSSããã¹ãããã¯ã¹ã®ãšããžããã©ãŒãã³ã¹ïŒã¿ã€ãã°ã©ãã£èšç®ã®æé©å
Webéçºã®é åã§ã¯ãã·ãŒã ã¬ã¹ã§å¿çæ§ã®é«ããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãæäŸããããšãæãéèŠã§ãããã®éèŠãªåŽé¢ã¯ãç¹ã«ããã¹ãããã¯ã¹å ã§ã®ããã¹ãã®å¹ççãªã¬ã³ããªã³ã°ã«ãããŸããäžååã«æé©åãããã¿ã€ãã°ã©ãã£èšç®ã¯ãé倧ãªããã©ãŒãã³ã¹ã®ããã«ããã¯ã«ã€ãªãããã€ã³ã¿ãŒãã§ãŒã¹ã®åäœãé ããªãããŠãŒã¶ãŒãããç«ãããçµæãšãªããŸãããã®å æ¬çãªã¬ã€ãã§ã¯ãCSSããã¹ãããã¯ã¹ã®ãšããžããã©ãŒãã³ã¹ã®è€éããæãäžããã°ããŒãã«ãªãªãŒãã£ãšã³ã¹ã®ããã«ã¿ã€ãã°ã©ãã£èšç®ãæé©åããããã®å®è¡å¯èœãªæŠç¥ãšãã¹ããã©ã¯ãã£ã¹ãæäŸããŸãã
課é¡ã®çè§£
ããã¹ããæ£ç¢ºãã€å¹ççã«ã¬ã³ããªã³ã°ããã«ã¯ããã©ã³ãã®èªã¿èŸŒã¿ãæåãšã³ã³ãŒãã£ã³ã°ãæ¹è¡ãã¬ã€ã¢ãŠãèšç®ãªã©ãè€éã«çµ¡ã¿åã£ãèŠçŽ ãé¢ãã£ãŠããŸãããã©ãŠã¶ã¯ãfont-familyãfont-sizeãline-heightãletter-spacingãword-spacingãªã©ã®ããŸããŸãªCSSããããã£ãèæ
®ããŠãåæåãåèªãè¡ã®ãµã€ãºãšäœçœ®ã決å®ããå¿
èŠããããŸãã
ãããã®èšç®ã¯ã次ã®ãããªã±ãŒã¹ãæ±ãéã«ç¹ã«å°é£ã«ãªãããšããããŸãã
- è€éãªã¹ã¯ãªããïŒã¢ã©ãã¢èªãäžåœèªãæ¥æ¬èªãéåœèªãªã©ã®è€éãªã¹ã¯ãªãããæã€èšèªã¯ãååãæèäŸå圢ã瞊æžãã¢ãŒããåŠçããããã«å°éã®ã¬ã³ããªã³ã°ã¢ã«ãŽãªãºã ãå¿ èŠãšããŸãã
- ããªã¢ãã«ãã©ã³ãïŒããªã¢ãã«ãã©ã³ãã¯å¹ åºãã¹ã¿ã€ã«ããªãšãŒã·ã§ã³ãæäŸããŸãããã¬ã³ããªã³ã°äžã«è¿œå ã®èšç®ãªãŒããŒããããçºçãããŸãã
- åçã³ã³ãã³ãïŒãã£ããã¢ããªã±ãŒã·ã§ã³ããªã¢ã«ã¿ã€ã ããã·ã¥ããŒãã®ããã«ãããã¹ãã³ã³ãã³ããåçã«æŽæ°ãããšãé »ç¹ãªã¬ã€ã¢ãŠãã®åèšç®ãããªã¬ãŒãããããã©ãŒãã³ã¹ã®äœäžã«ã€ãªããå¯èœæ§ããããŸãã
- åœéåïŒi18nïŒïŒç°ãªããã©ã³ãèŠä»¶ãããã¹ãæ¹åãæã€è€æ°ã®èšèªããµããŒãããããšã¯ãã¬ã³ããªã³ã°ããã»ã¹ãè€éã«ããŸãã
ããã«ãéå¹ççãªCSSã®å®è·µã¯ãããã®èª²é¡ãæªåãããã¬ã€ã¢ãŠãã¹ã©ãã·ã³ã°ããã€ã³ãã¹ããŒã ãåŒãèµ·ããå¯èœæ§ããããŸããã¬ã€ã¢ãŠãã¹ã©ãã·ã³ã°ã¯ãJavaScriptã³ãŒããçæéã§ãã©ãŠã¶ã«ã¬ã€ã¢ãŠããäœåºŠãåèšç®ãããå Žåã«çºçãããã€ã³ãã¹ããŒã ã¯ç»é¢ã®éå°ãªåæç»ã䌎ããŸãã
ã¿ã€ãã°ã©ãã£èšç®ãæé©åããããã®æŠç¥
幞ããªããšã«ãã¿ã€ãã°ã©ãã£èšç®ãæé©åããWebã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãåäžãããããã«æ¡çšã§ããããã€ãã®ãã¯ããã¯ããããŸãã
1. ãã©ã³ãèªã¿èŸŒã¿ã®æé©å
ãã©ã³ãã®èªã¿èŸŒã¿ã¯ãããã¹ãã¬ã³ããªã³ã°ã§æåã«ééããããã«ããã¯ã§ããããšããããããŸãããã©ãŠã¶ãæã£ãŠããªããã©ã³ããåç
§ããfont-family宣èšã«ééãããšããµãŒããŒãããã©ã³ããã¡ã€ã«ãããŠã³ããŒãããå¿
èŠããããŸãããã®ããã»ã¹ã¯ããã¹ãã®ã¬ã³ããªã³ã°ããããã¯ããããã¹ããäžæçã«èŠããªããªãïŒFOITïŒããã¹ã¿ã€ã«ã®ãªãããã¹ããäžæçã«è¡šç€ºãããïŒFOUTïŒçµæãšãªããŸãã
ãããã®åé¡ã軜æžããããã«ã以äžã®æŠç¥ãæ€èšããŠãã ããã
font-displayã䜿çšããïŒfont-displayCSSããããã£ã䜿çšãããšããã©ã³ãèªã¿èŸŒã¿ã®åäœãå¶åŸ¡ã§ããŸããswapãoptionalã®ãããªå€ã¯ãã«ã¹ã¿ã ãã©ã³ããèªã¿èŸŒãŸããŠããéã«ãã©ãŠã¶ããã©ãŒã«ããã¯ãã©ã³ãã衚瀺ã§ããããã«ããããšã§ãFOITãFOUTãé²ãã®ã«åœ¹ç«ã¡ãŸãã äŸïŒcss @font-face { font-family: 'MyCustomFont'; src: url('my-custom-font.woff2') format('woff2'); font-display: swap; }- ãã©ã³ããããªããŒãããïŒ
<link rel="preload">ã¿ã°ã䜿çšãããšããã©ãŠã¶ã«ã¬ã³ããªã³ã°ããã»ã¹ã®æ©ã段éã§ãã©ã³ããããŠã³ããŒãããããã«æç€ºã§ãããã©ã³ããå©çšå¯èœã«ãªããŸã§ã®é å»¶ãæžããããšãã§ããŸãã äŸïŒhtml <link rel="preload" href="my-custom-font.woff2" as="font" type="font/woff2" crossorigin> - Webãã©ã³ãæé©åãµãŒãã¹ã䜿çšããïŒGoogle FontsãAdobe Fontsã®ãããªãµãŒãã¹ã¯ãç°ãªããã©ãŠã¶ãããã€ã¹åãã«ãã©ã³ããã¡ã€ã«ãèªåçã«æé©åãããã¡ã€ã«ãµã€ãºãåæžããŠèªã¿èŸŒã¿ããã©ãŒãã³ã¹ãåäžãããŸãã
- é©åãªãã©ã³ã圢åŒãéžæããïŒææ°ã®ãã©ãŠã¶ã¯ãWOFF2ã®ãããªåœ¢åŒããµããŒãããŠãããTTFãEOTã®ãããªå€ã圢åŒãšæ¯èŒããŠåªããå§çž®çãæäŸããŸãã
2. ã¬ã€ã¢ãŠãã¹ã©ãã·ã³ã°ã®æå°å
ã¬ã€ã¢ãŠãã¹ã©ãã·ã³ã°ã¯ãJavaScriptã³ãŒããç¹°ãè¿ãDOMã®èªã¿æžããè¡ãããã©ãŠã¶ã«äœåºŠãã¬ã€ã¢ãŠããåèšç®ãããå Žåã«çºçããŸãããããé¿ããããã«ã¯ãDOMæäœã®æ°ãæå°éã«æããèªã¿æžãæäœããããåŠçããŸãã
以äžã«å ·äœçãªãã¯ããã¯ãããã€ã玹ä»ããŸãã
- ããã¥ã¡ã³ããã©ã°ã¡ã³ãã䜿çšããïŒDOMã«è€æ°ã®å€æŽãå ããå Žåãã¡ã¢ãªå ã«ããã¥ã¡ã³ããã©ã°ã¡ã³ããäœæãããã¹ãŠã®å€æŽããã©ã°ã¡ã³ãã«è¿œå ããŠãããäžåºŠã®æäœã§ãã©ã°ã¡ã³ããDOMã«è¿œå ããŸãã
- èšç®å€ããã£ãã·ã¥ããïŒåãDOMããããã£ã«è€æ°åã¢ã¯ã»ã¹ããå¿ èŠãããå Žåã¯ããã®å€ã倿°ã«ãã£ãã·ã¥ããŠåé·ãªèšç®ãé¿ããŸãã
- 匷å¶åæã¬ã€ã¢ãŠããé¿ããïŒDOMãžã®èªã¿æžãã®é åºã«æ³šæããŠãã ãããDOMãžã®æžã蟌ã¿çŽåŸã«ããããã£ãèªã¿åããšãåæã¬ã€ã¢ãŠãã匷å¶ãããã³ã¹ããé«ããªãå¯èœæ§ããããŸãã
- ã€ãã³ããã³ãã©ããããŠã³ã¹ããã³ã¹ãããã«ããïŒ
scrollãresizeã®ããã«é »ç¹ã«çºçããã€ãã³ãã«ã€ããŠã¯ããããŠã³ã¹ãã¹ãããã«ã䜿çšããŠã€ãã³ããã³ãã©ãå®è¡ãããåæ°ãå¶éããŸãã
ããã¥ã¡ã³ããã©ã°ã¡ã³ãã®äœ¿çšäŸïŒJavaScriptïŒïŒ
javascript
const data = ['Item 1', 'Item 2', 'Item 3'];
const list = document.getElementById('myList');
const fragment = document.createDocumentFragment();
data.forEach(item => {
const li = document.createElement('li');
li.textContent = item;
fragment.appendChild(li);
});
list.appendChild(fragment);
3. CSSã»ã¬ã¯ã¿ã®æé©å
CSSã»ã¬ã¯ã¿ã®å¹çãã¬ã³ããªã³ã°ããã©ãŒãã³ã¹ã«åœ±é¿ãäžããå¯èœæ§ããããŸããè€éã§æ·±ããã¹ããããã»ã¬ã¯ã¿ã¯ãç¹ã«å€§ããªããŒãžã§ã¯ããã©ãŠã¶ãèŠçŽ ãäžèŽãããã®ã«æéããããããšããããŸãããããã£ãŠãäžå¿ èŠãªè€éããªãã«ç¹å®ã®èŠçŽ ã察象ãšããå¹ççãªCSSã»ã¬ã¯ã¿ãèšè¿°ããããšãäžå¯æ¬ ã§ãã
以äžã«ããã€ãã®ã¬ã€ãã©ã€ã³ã瀺ããŸãã
- ã¯ã©ã¹åãšIDã䜿çšããïŒã¯ã©ã¹åãšIDã¯ããã©ãŠã¶ãèŠçŽ ãè¿ éã«èå¥ã§ãããããæãå¹ççãªã»ã¬ã¯ã¿ã§ãã
- åå«ã»ã¬ã¯ã¿ãé¿ããïŒåå«ã»ã¬ã¯ã¿ïŒäŸïŒ
.container pïŒã¯ããã©ãŠã¶ãDOMããªãŒå šäœãèµ°æ»ããå¿ èŠããããããé ããªãå¯èœæ§ããããŸãã - ã»ã¬ã¯ã¿ãå ·äœçã«ããïŒå€æ°ã®èŠçŽ ã«äžèŽããå¯èœæ§ã®ããé床ã«äžè¬çãªã»ã¬ã¯ã¿ã¯é¿ããŸãã
- BEMæ¹æ³è«ã䜿çšããïŒBlock Element ModifierïŒBEMïŒæ¹æ³è«ã¯ããã©ããã§å ·äœçãªã¯ã©ã¹åã®äœ¿çšãä¿é²ããå¹ççãªCSSã»ã¬ã¯ã¿ãæžããããããŸãã
4. CSS Containmentã®æŽ»çš
CSS Containmentã¯ãWebããŒãžã®äžéšãåé¢ããããŒãžã®äžéšã®ã¬ã€ã¢ãŠã倿Žãä»ã®éšåã«åœ±é¿ãäžããã®ãé²ãããšãã§ãã匷åãªãã¯ããã¯ã§ããããã«ãããç¹ã«è€éãªã¬ã€ã¢ãŠãã«ãããŠãã¬ã³ããªã³ã°ããã©ãŒãã³ã¹ãå€§å¹ ã«åäžãããããšãã§ããŸãã
contain CSSããããã£ã¯ãlayoutãpaintãcontentãå«ãããã€ãã®å€ãæäŸããŸããåå€ã¯é©çšããContainmentã®çš®é¡ãæå®ããŸãã
contain: layoutïŒèŠçŽ ã®ã¬ã€ã¢ãŠããããŒãžã®ä»ã®éšåããç¬ç«ããŠããããšã瀺ããŸããèŠçŽ ã®ã¬ã€ã¢ãŠããžã®å€æŽã¯ä»ã®èŠçŽ ã«åœ±é¿ããŸãããcontain: paintïŒèŠçŽ ã®æç»ãããŒãžã®ä»ã®éšåããç¬ç«ããŠããããšã瀺ããŸããèŠçŽ ã®æç»ãžã®å€æŽã¯ä»ã®èŠçŽ ã«åœ±é¿ããŸãããcontain: contentïŒlayoutãšpaintã®Containmentãçµã¿åãããæãå æ¬çãªåé¢ãæäŸããŸãã
CSS Containmentã®äœ¿çšäŸïŒ
css
.card {
contain: content;
}
5. `will-change`ããããã£ã®å©çšïŒæ³šæããŠïŒ
will-change CSSããããã£ã䜿çšãããšãèŠçŽ ã®ããããã£ã倿Žãããå¯èœæ§ãé«ãããšãäºåã«ãã©ãŠã¶ã«éç¥ã§ããŸããããã«ããããã©ãŠã¶ã¯å€æŽãèŠè¶ããŠèŠçŽ ã®ã¬ã³ããªã³ã°ãæé©åããæ©äŒãåŸãããšãã§ããŸãã
ãã ããwill-changeã¯äžé©åã«äœ¿çšãããšå€§éã®ã¡ã¢ãªãšãªãœãŒã¹ãæ¶è²»ããå¯èœæ§ããããããæ
éã«äœ¿çšããããšãéèŠã§ããã¢ã¯ãã£ãã«ã¢ãã¡ãŒã·ã§ã³ãŸãã¯å€åœ¢ãããŠããèŠçŽ ã«ã®ã¿äœ¿çšããŠãã ããã
`will-change`ã®äœ¿çšäŸïŒ
css
.element-to-animate {
will-change: transform, opacity;
}
6. ããã©ãŒãã³ã¹ã®æž¬å®ãšãããã¡ã€ãªã³ã°
ããã©ãŒãã³ã¹ã®ããã«ããã¯ãç¹å®ããŠå¯ŸåŠããããã«ã¯ãWebã¢ããªã±ãŒã·ã§ã³ã®ã¬ã³ããªã³ã°ããã©ãŒãã³ã¹ã枬å®ãããããã¡ã€ãªã³ã°ããããšãäžå¯æ¬ ã§ãããã©ãŠã¶ã®éçºè ããŒã«ã¯ããã®ç®çã®ããã«æ¬¡ã®ãããªããŸããŸãªæ©èœãæäŸããŠããŸãã
- ããã©ãŒãã³ã¹ããã«ïŒChrome DevToolsããã³Firefox Developer Toolsã®ããã©ãŒãã³ã¹ããã«ã䜿çšãããšãããŒãžã®ã¬ã³ããªã³ã°ããã©ãŒãã³ã¹ãèšé²ããã³åæã§ããŸããé·æéå®è¡ãããã¿ã¹ã¯ãã¬ã€ã¢ãŠãã¹ã©ãã·ã³ã°ããã€ã³ãã¹ããŒã ãç¹å®ã§ããŸãã
- ã¬ã³ããªã³ã°èšå®ïŒChrome DevToolsã®ã¬ã³ããªã³ã°èšå®ã䜿çšãããšãäœéãªCPUããããã¯ãŒã¯æ¥ç¶ãªã©ãããŸããŸãªã¬ã³ããªã³ã°ã·ããªãªãã·ãã¥ã¬ãŒãããŠãããŸããŸãªæ¡ä»¶äžã§ã®ããã©ãŒãã³ã¹ã®ããã«ããã¯ãç¹å®ã§ããŸãã
- LighthouseïŒLighthouseã¯ãWebããŒãžã®ããã©ãŒãã³ã¹ãã¢ã¯ã»ã·ããªãã£ãSEOãç£æ»ããèªåããŒã«ã§ããã¿ã€ãã°ã©ãã£ã®æé©åãå«ããããã©ãŒãã³ã¹ãåäžãããããã®æšå¥šäºé ãæäŸããŸãã
ããã©ãŒãã³ã¹ã¡ããªã¯ã¹ãæ³šææ·±ãåæããããã«ããã¯ã®æ ¹æ¬åå ãç¹å®ããããšã§ãã¿ã€ãã°ã©ãã£èšç®ã广çã«æé©åããå šäœçãªãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãåäžãããããšãã§ããŸãã
7. åœéåã«é¢ããèæ ®äºé
ã°ããŒãã«ãªãªãŒãã£ãšã³ã¹åãã«Webã¢ããªã±ãŒã·ã§ã³ãéçºããå ŽåãåœéåïŒi18nïŒãã¿ã€ãã°ã©ãã£ã®ããã©ãŒãã³ã¹ã«äžãã圱é¿ãèæ ®ããããšãäžå¯æ¬ ã§ããèšèªãã¹ã¯ãªãããç°ãªãã°ããã©ã³ãèŠä»¶ãããã¹ãã¬ã³ããªã³ã°ã®ç¹æ§ãç°ãªããŸãã
以äžã«ããã€ãã®éèŠãªèæ ®äºé ã瀺ããŸãã
- Unicodeã䜿çšããïŒã¢ããªã±ãŒã·ã§ã³ãå¹ åºãæåãã¹ã¯ãªããããµããŒãããããã«ãUnicodeïŒUTF-8ïŒãšã³ã³ãŒãã£ã³ã°ã䜿çšããŠããããšã確èªããŠãã ããã
- é©åãªãã©ã³ããéžæããïŒè¡šç€ºããå¿ èŠã®ããèšèªãã¹ã¯ãªããããµããŒããããã©ã³ããéžæããŠãã ããã察象èšèªã«å¯ŸããŠååãªã«ãã¬ããžãæäŸããã·ã¹ãã ãã©ã³ããWebãã©ã³ãã®äœ¿çšãæ€èšããŠãã ããã
- ããã¹ãã®æ¹åãåŠçããïŒã¢ã©ãã¢èªãããã©ã€èªãªã©ãäžéšã®èšèªã¯å³ããå·ŠïŒRTLïŒã«æžãããŸãããããã®èšèªã®ããã¹ãæ¹åãæå®ããã«ã¯ã
directionCSSããããã£ã䜿çšããŸãã - æ¹è¡ã«ãŒã«ãèæ
®ããïŒèšèªã«ãã£ãŠæ¹è¡ã«ãŒã«ãç°ãªããŸããåèªãè¡ãã©ã®ããã«åå²ãããããå¶åŸ¡ããã«ã¯ã
word-breakããã³overflow-wrapCSSããããã£ã䜿çšããŸãã - ç°ãªãèšèªã§ãã¹ãããïŒããã¹ããæ£ããå¹ççã«ã¬ã³ããªã³ã°ãããããšã確èªããããã«ãããŸããŸãªèšèªãã¹ã¯ãªããã§ã¢ããªã±ãŒã·ã§ã³ã培åºçã«ãã¹ãããŠãã ããã
ã¢ã©ãã¢èªã®ããã¹ãæ¹åãèšå®ããäŸïŒ
css
.arabic-text {
direction: rtl;
font-family: 'Arial Unicode MS', sans-serif; /* Unicodeã«ãã¬ããžãè¯å¥œãªãã©ã³ãã®äŸ */
}
8. ããªã¢ãã«ãã©ã³ããšããã©ãŒãã³ã¹
ããªã¢ãã«ãã©ã³ãã¯ã¿ã€ãã°ã©ãã£ã«åªããæè»æ§ãããããããŠã§ã€ããå¹ ãåŸããªã©ã®è»žã調æŽã§ããŸãããããããã®æè»æ§ã«ã¯æœåšçãªããã©ãŒãã³ã¹ã³ã¹ãã䌎ããŸããããªã¢ãã«ãã©ã³ãã®å€ãã®ããªãšãŒã·ã§ã³ã䜿çšãããšãèšç®ãªãŒããŒããããå¢å ããå¯èœæ§ããããŸãã
- ããªã¢ãã«ãã©ã³ããè³¢ã䜿çšããïŒãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã«æç¢ºãªå©ç¹ãããããå Žåã«ã®ã¿ãããªã¢ãã«ãã©ã³ãã®æ©èœã䜿çšããŠãã ããã
- ãã©ã³ãèšå®ãæé©åããïŒããŸããŸãªãã©ã³ãèšå®ã軞ã詊ããŠãèŠèŠçãªé åãšããã©ãŒãã³ã¹ã®æé©ãªãã©ã³ã¹ãèŠã€ããŠãã ããã
- ããã©ãŒãã³ã¹ã培åºçã«ãã¹ãããïŒããªã¢ãã«ãã©ã³ãã䜿çšããå Žåãç¹ã«äœã¹ããã¯ã®ããã€ã¹ã§ã¯ãã¬ã³ããªã³ã°ããã©ãŒãã³ã¹ã«çްå¿ã®æ³šæãæã£ãŠãã ããã
9. ã¢ã¯ã»ã·ããªãã£ã«é¢ããèæ ®äºé
ã¿ã€ãã°ã©ãã£ã®æé©åã¯ãåžžã«ã¢ã¯ã»ã·ããªãã£ã念é ã«çœ®ããŠè¡ãå¿ èŠããããŸããããã¹ããé害ã®ãããŠãŒã¶ãŒã«ãšã£ãŠãèªã¿ããããã¢ã¯ã»ã¹å¯èœã§ããããšã確èªããŠãã ããã
以äžã«ããã€ãã®éèŠãªèæ ®äºé ã瀺ããŸãã
- ååãªã³ã³ãã©ã¹ãã䜿çšããïŒããã¹ãã®è²ãèæ¯è²ãšååãªã³ã³ãã©ã¹ããæã£ãŠããããšã確èªããŠãã ãããWebã³ã³ãã³ãã¢ã¯ã»ã·ããªãã£ã¬ã€ãã©ã€ã³ïŒWCAGïŒã¯ãããŸããŸãªããã¹ããµã€ãºã«å¯ŸããŠæå°ã³ã³ãã©ã¹ãæ¯ãå®ããŠããŸãã
- é©åãªãã©ã³ããµã€ãºãæäŸããïŒèªã¿ãããããã«ååãªå€§ããã®ãã©ã³ããµã€ãºã䜿çšããŠãã ãããå¿ èŠã«å¿ããŠãŠãŒã¶ãŒããã©ã³ããµã€ãºã調æŽã§ããããã«ããŸãã
- æç¢ºã§ç°¡æœãªèšèªã䜿çšããïŒçè§£ãããããæç¢ºã§ç°¡æœãªèšèªã§èšè¿°ããŠãã ããã
- ç»åã«ä»£æ¿ããã¹ããæäŸããïŒããã¹ããå«ãç»åã«ã¯ä»£æ¿ããã¹ããæäŸããŠãã ããã
- æ¯æŽæè¡ã§ãã¹ãããïŒã¹ã¯ãªãŒã³ãªãŒããŒãªã©ã®æ¯æŽæè¡ã§ã¢ããªã±ãŒã·ã§ã³ããã¹ãããé害ã®ãããŠãŒã¶ãŒãã¢ã¯ã»ã¹ã§ããããšã確èªããŠãã ããã
ååãªã³ã³ãã©ã¹ãã確ä¿ããäŸïŒWCAGïŒïŒ
css
.text-with-sufficient-contrast {
color: #000000; /* Black */
background-color: #FFFFFF; /* White */
/* ãã®çµã¿åããã¯ãéåžžã®ããã¹ãã«å¯ŸããWCAG AAã®ã³ã³ãã©ã¹ãèŠä»¶ãæºãããŠããŸã */
}
çµè«
CSSããã¹ãããã¯ã¹ã®ãšããžããã©ãŒãã³ã¹ã®æé©åã¯ããã©ãŠã¶ã®ã¬ã³ããªã³ã°ãCSSããããã£ãåœéåã«é¢ããæ·±ãçè§£ãå¿ èŠãšããå€é¢çãªåãçµã¿ã§ãããã®ã¬ã€ãã§æŠèª¬ãããæŠç¥ãå®è£ ããããšã§ãWebã¢ããªã±ãŒã·ã§ã³ã®ã¬ã³ããªã³ã°ããã©ãŒãã³ã¹ãå€§å¹ ã«åäžãããã°ããŒãã«ãªãªãŒãã£ãšã³ã¹ã«ãããã¹ã ãŒãºã§æ¥œãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãæäŸã§ããŸããããã©ãŒãã³ã¹ã枬å®ã»ãããã¡ã€ãªã³ã°ããåžžã«ã¢ã¯ã»ã·ããªãã£ã念é ã«çœ®ããçµ¶ããé²åããWebã®ç¶æ³ã«å¯Ÿå¿ããããã«æè¡ãç¶ç¶çã«æŽç·Žãããããšãå¿ããªãã§ãã ããããã©ã³ãèªã¿èŸŒã¿ã®æé©åãã¬ã€ã¢ãŠãã¹ã©ãã·ã³ã°ã®æå°åãCSSã»ã¬ã¯ã¿ã®æé©åãCSS Containmentã®æŽ»çšã`will-change`ã®æ éãªäœ¿çšããããŠããªã¢ãã«ãã©ã³ããšåœéåã®ãã¥ã¢ã³ã¹ãçè§£ããããšã«çŠç¹ãåœãŠãããšã§ãäžçäžã®ãŠãŒã¶ãŒã«ãšã£ãŠèŠèŠçã«é åçã§é«æ§èœãªWebã¢ããªã±ãŒã·ã§ã³ãäœæã§ããŸããæè¡ã鲿©ããããŸããŸãªã°ããŒãã«ãŠãŒã¶ãŒç°å¢ãé²åããã«ã€ããŠãå¹ççãªã¿ã€ãã°ã©ãã£èšç®ã®å¿ èŠæ§ã¯å¢ãã°ããã§ããããããã®æé©åã¯ãããŸã§ä»¥äžã«éèŠã«ãªããŸãã