CSSì JavaScriptì ì ê·¼ì± ëª¨ë² ì¬ë¡
CSSì JavaScriptë ì ì íê² ì¬ì©ë ë ì ê·¼ì± ëì ì¹ ê²½íì ì ê³µí ì ìì§ë§, ì못 ì¬ì©ë ê²½ì° ì ê·¼ì±ì ì¬ê°í ìí¥ì ì¤ ì ììµëë¤. ì´ ë¬¸ìììë ë³µì¡í ì½í ì¸ ë¼ë ê°ë¥í í ì ê·¼ì±ì ë³´ì¥í기 ìí´ ê³ ë ¤í´ì¼ í ëª ê°ì§ CSSì JavaScript ëª¨ë² ì¬ë¡ë¥¼ ì¤ëª í©ëë¤.
| íìí ì¬ì ì§ì: | HTML, CSS, JavaScriptì ëí 기본ì ì¸ ì´í´ì ì ê·¼ì±ì´ 무ìì¸ì§ì ëí ì´í´. |
|---|---|
| 목í: | ì¹ ë¬¸ìì CSSì JavaScript를 ì ì íê² ì¬ì©íì¬ ì ê·¼ì±ì ìµëííê³ ì ê·¼ì±ì ì íìí¤ì§ ìë ë°©ë²ì ìµìí´ì§ëë¤. |
CSSì JavaScriptë ì ê·¼ ê°ë¥íê°ì?
CSSì JavaScriptë HTMLë§í¼ ì ê·¼ì±ì ì¤ìíì§ë ìì§ë§, ì¬ì© ë°©ë²ì ë°ë¼ ì ê·¼ì±ì ëìì´ ëê² íê±°ë ìììí¬ ì ììµëë¤. ë¤ì ë§í´, CSSì JavaScriptì ì¬ì©ì´ 문ìì ì ê·¼ì±ì ë§ì¹ì§ ìëë¡ ëª ê°ì§ ëª¨ë² ì¬ë¡ë¥¼ ê³ ë ¤íë ê²ì ì¤ìí©ëë¤.
CSS
CSSë¶í° ì´í´ë´ ìë¤.
ì¬ë°ë¥¸ ìë¯¸ë¡ ì ííê³¼ ì¬ì©ì ê²½í
CSS를 ì¬ì©íì¬ HTML ìì를 ìíë ëë¡ ë³´ì´ê² ë§ë¤ ì ìì§ë§, íì ê·¸ë ê² í´ì¼ íë ê²ì ìëëë¤. HTML: ì ê·¼ì±ì ìí ì¢ì ê¸°ì´ ë¬¸ììì ì주 ë§íë¯ì´, ê°ë¥í ê²½ì° ì ì í ìë¯¸ë¡ ì ìì를 ì¬ì©í´ì¼ í©ëë¤. ê·¸ë ì§ ìì¼ë©´ 모ëìê² í¼ëê³¼ ì¬ì©ì± 문ì ê° ë°ìí ì ìì¼ë©°, í¹í ì¥ì 를 ê°ì§ ì¬ì©ììê²ë ë í° ë¬¸ì ê° ë ì ììµëë¤. ì¬ë°ë¥¸ ìë¯¸ë¡ ì ìì를 ì¬ì©íë ê²ì ì¬ì©ì ê²½íê³¼ ë§ì ê´ë ¨ì´ ììµëë¤. ììë 기ë¥ì ë°ë¼ í¹ì í ë°©ìì¼ë¡ ë³´ì´ê³ ëìíë©°, ì´ë¬í ì¼ë°ì ì¸ ê·ì¹ì ì¬ì©ììê² ê¸°ëë©ëë¤.
ì를 ë¤ì´, ì¤í¬ë¦° 리ë ì¬ì©ìë ê°ë°ìê° ì½í ì¸ ë¥¼ ë§í¬ì í ë ì ì í ì 목 ìì를 ì¬ì©íì§ ìì¼ë©´ íì´ì§ë¥¼ ì 목 ìì를 íµí´ íìí ì ììµëë¤. ë§ì°¬ê°ì§ë¡, ì 목ì ì 목ì²ë¼ ë³´ì´ì§ ìëë¡ ì¤íì¼ì ë³ê²½íë©´ ìê°ì ì¸ ëª©ì ì ì½ê² ë©ëë¤.
ìì½íë©´, íì´ì§ 기ë¥ì ì¤íì¼ì ì ë°ì´í¸íì¬ ëìì¸ì ë§ê² ì¡°ì í ì ìì§ë§, ë무 ë§ì´ 기ëì ë¤ë¥´ê² ë³´ì´ê±°ë ëìíì§ ìëë¡ ë³ê²½íì§ë ë§ììì¤. ë¤ì ì¹ì ììë ê³ ë ¤í´ì¼ í 주ì HTML 기ë¥ì ìì½í©ëë¤.
"íì¤" í ì¤í¸ ì½í ì¸ êµ¬ì¡°
ì 목, ë¨ë½, ëª©ë¡ â íì´ì§ì íµì¬ í ì¤í¸ ì½í ì¸
<h1>Heading</h1>
<p>Paragraph</p>
<ul>
<li>My list</li>
<li>has two items.</li>
</ul>
ì¼ë°ì ì¸ CSSë ë¤ìê³¼ ê°ìµëë¤.
h1 {
font-size: 5rem;
}
p,
li {
line-height: 1.5;
font-size: 1.6rem;
}
ë¤ìì ì§ì¼ì¼ í©ëë¤.
- í ì¤í¸ë¥¼ ë ¼ë¦¬ì ì´ê³ ê°ë ì± ì¢ê³ ì½ê¸° í¸ìíê² ë§ë¤ê¸° ìí´ í©ë¦¬ì ì¸ ê¸ê¼´ í¬ê¸°, ì¤ ê°ê²©, ê¸ì ê°ê²© ë±ì ì ííì¸ì.
- ì 목ì 본문 í ì¤í¸ì 구ë¶ëëë¡ ì¼ë°ì ì¼ë¡ 기본 ì¤íì¼ê³¼ ê°ì´ í¬ê³ êµµê² ë³´ì´ëë¡ í´ì¼ í©ëë¤. 목ë¡ì 목ë¡ì²ë¼ ë³´ì¬ì¼ í©ëë¤.
- í ì¤í¸ ììì ë°°ê²½ ììê³¼ ì ëë¹ëì´ì¼ í©ëë¤.
ìì¸í ë´ì©ì HTML í ì¤í¸ 기본 ì¬íì í ì¤í¸ ì¤íì¼ë§ì ì°¸ê³ íì¸ì.
í ì¤í¸ ê°ì¡°
ëíëë í ì¤í¸ì í¹ì ê°ì¡°ì ì ë¶ì¬íë ì¸ë¼ì¸ ë§í¬ì ì ë¤ìê³¼ ê°ìµëë¤.
<p>The water is <em>very hot</em>.</p>
<p>
Water droplets collecting on surfaces is called <strong>condensation</strong>.
</p>
ê°ì¡°ë í ì¤í¸ì ê°ë¨í ììì ì¶ê°í ì ììµëë¤.
strong,
em {
color: #a60000;
}
ê·¸ë¬ë ê°ì¡°í ìì를 ì미 ìë ë°©ìì¼ë¡ ì¤íì¼ì ì§ì í ê²½ì°ë ê±°ì ìì ê²ì ëë¤. êµµì ê¸ê¼´ê³¼ 기ì¸ì ê¼´ í ì¤í¸ì íì¤ ê·ì¹ì ì½ê² ììë³¼ ì ìì¼ë©° ì¤íì¼ì ë³ê²½íë©´ í¼ëì´ ë°ìí ì ììµëë¤. ê°ì¡°ì ëí ìì¸í ë´ì©ì ê°ì¡° ë° ì¤ìì±ë¥¼ ì°¸ê³ íì¸ì.
ì½ì´
íì¥ê³¼ ì°ê´ëë ì½ì´, ë문ìì´ ëë ì´ê¸°í를 íì©íë ììì ëë¤.
<p>
Web content is marked up using Hypertext Markup Language, or
<abbr>HTML</abbr>.
</p>
ë¤ì ë§íì§ë§, ê°ë¨í ë°©ë²ì¼ë¡ ì¤íì¼ì ì§ì í ì ììµëë¤.
abbr {
color: #a60000;
}
ì½ì´ì ëí´ ì¸ì ë ì¤íì¼ë§ ê·ì¹ì ì ì ë°ì¤ì´ë©°, ì´ì í¬ê² ë²ì´ëë ê²ì íëª íì§ ììµëë¤. ì½ì´ì ëí ë ë§ì ê²ì ì½ì´ë¥¼ ì°¸ê³ íì¸ì.
ë§í¬
ì¹ìì ìë¡ì´ ê³³ì¼ë¡ ì´ëíë ë°©ë²ì¸ íì´í¼ë§í¬ì ëë¤.
<p>Visit the <a href="https://www.mozilla.org">Mozilla homepage</a>.</p>
ë§¤ì° ê°ë¨í ë§í¬ ì¤íì¼ì ìëì ê°ìµëë¤.
a {
color: #ff0000;
}
a:hover,
a:visited,
a:focus {
color: #a60000;
text-decoration: none;
}
a:active {
color: #000000;
background-color: #a60000;
}
íì¤ ë§í¬ ê·ì¹ì ë°ì¤ì´ ê·¸ì´ì ¸ ìì¼ë©° íì¤ ìíììë ë¤ë¥¸ ìì(기본ê°: íëì), ì´ì ì ë§í¬ë¥¼ 방문íì ëë ë¤ë¥¸ ìì(기본ê°: 빨ê°ì)ì¼ë¡ íìë©ëë¤. ëí, ë§í¬ ìì ë§ì°ì¤ë¥¼ ì¬ë¦¬ë©´ ë§ì°ì¤ í¬ì¸í°ê° í¬ì¸í° ìì´ì½ì¼ë¡ ë°ëê³ , ë§í¬ì ì´ì ì ë§ì¶ê±°ë(ì: í ì´ëì íµí´) íì±íëë©´ ê°ì¡° íìë©ëë¤. ë¤ì ì´ë¯¸ì§ë Firefox(ì ì ì¤ê³½ì )ì Chrome(íëì ì¤ê³½ì ) 모ë ê°ì¡° íì를 ë³´ì¬ì¤ëë¤.


ì¬ì©ìê° ë§í¬ì ìí¸ìì©ì í ë ê³ì í¼ëë°±ì ì ê³µíë í ë§í¬ ì¤íì¼ì ì°½ìì ì¼ë¡ ì¬ì©í ì ììµëë¤. ìíê° ë³ê²½ëë©´ ë°ëì ì´ë¤ ì¼ì´ ë°ìí´ì¼ íë©° í¬ì¸í° 커ìë ì¤ê³½ì ì ì ê±°í´ìë ì ë©ëë¤. ë ë¤ í¤ë³´ë 컨í¸ë¡¤ì ì¬ì©íë ì¬ëë¤ìê² ë§¤ì° ì¤ìí ì ê·¼ì± ë구ì ëë¤.
ìì ìì
ì¬ì©ìê° ì¹ ì¬ì´í¸ì ë°ì´í°ë¥¼ ì ë ¥í ì ìëë¡ íë ììì ëë¤.
<div>
<label for="name">Enter your name</label>
<input type="text" id="name" name="name" />
</div>
form-css.html ìììì CSSì ì¢ì ìì를 ë³¼ ì ììµëë¤. (ë¼ì´ë¸ 보기ë ììµëë¤.)
ììì ìí´ ìì±í ëë¶ë¶ì CSSë ììì í¬ê¸°ë¥¼ ì¡°ì íê³ , ë ì´ë¸ê³¼ ì ë ¥ì ì ë ¬íê³ , ê¹ëíê³ ë¨ì íê² ë³´ì´ê¸° ìí ê²ì ëë¤.
ê·¸ë¬ë ìì ììì ì´ì ì´ ë§ì¶°ì¡ì ë ë°ì ê²ì¼ë¡ ììëë ìê°ì ì¸ í¼ëë°±ìì ë무 ë§ì´ ë²ì´ëìë ì ë©ëë¤. ì´ë 기본ì ì¼ë¡ ë§í¬ì ëì¼í©ëë¤(ì ì°¸ê³ ). ìì í¬ì»¤ì¤/í¸ë² ìíì ì¤íì¼ì ì§ì íì¬ ë¸ë¼ì°ì ì ì²´ìì ì´ ëìì ë³´ë¤ ì¼ê´ëê² ë§ë¤ê±°ë íì´ì§ ëìì¸ì ë ì ë§ëë¡ í ì ìì§ë§ ìì í ì ê±°íì§ë ë§ììì¤. ë¤ì ë§íì§ë§ ì¬ëë¤ì ì´ë¬í ë¨ìì ìì¡´íì¬ ë¬´ì¨ ì¼ì´ ì¼ì´ëê³ ìëì§ ì ì ììµëë¤.
í ì´ë¸
í íìì ë°ì´í°ë¥¼ ííí기 ìí íì ëë¤.
table-css.html ìì ìì í HTML ë° CSSì íë¥íê³ ê°ë¨í ì를 ë³¼ ì ììµëë¤. (ë¼ì´ë¸ 보기ë ììµëë¤.)
í CSSë ì¼ë°ì ì¼ë¡ í를 ëìì¸ì ë ì ì´ì¸ë¦¬ê² íê³ ë³´ê¸° ì¢ê² ë§ëë ìí ì í©ëë¤. í í¤ëê° ëì ëëë¡ íê³ (ì¼ë°ì ì¼ë¡ êµµê² íì), ì¼ë£©ë§ ì¤ë¬´ë¬ë¥¼ ì¬ì©íì¬ ì¬ë¬ íì 구문 ë¶ìí기 ì½ê² íë ê²ì´ ì¢ìµëë¤.
ìì ë° ìì ëë¹
ì¹ ì¬ì´í¸ì ì 구ì±í를 ì íí ë í ì¤í¸ ììì´ ë°°ê²½ ììê³¼ ì ëë¹ëëì§ íì¸íì¸ì. ëìì¸ì ë©ì ¸ ë³´ì¼ ì ìì§ë§ ì맹과 ê°ì ìê° ì¥ì ê° ìë ì¬ëì´ ì½í ì¸ ë¥¼ ì½ì ì ìë¤ë©´ ì¢ì§ ììµëë¤.
ëë¹ê° 문ì 를 ì¼ì¼í¤ì§ ìì ì ëë¡ í°ì§ íì¸íë ì¬ì´ ë°©ë²ì´ ììµëë¤. ì ê²½ìê³¼ ë°°ê²½ìì ì ë ¥íì¬ íì¸í ì ìë ì¨ë¼ì¸ ë°°ë ê²ì¬ ëêµ¬ê° ë§ì´ ììµëë¤. ì를 ë¤ì´ ìì ëë¹ ê²ì¬ê¸°ë ì¬ì©ì´ ê°í¸íë©° ìì ëë¹ì ê´ë ¨ë WCAG 기ì¤ì ì¤ìíë ë° íìí ì¬íì ëí ì¤ëª ì ì ê³µí©ëë¤.
ì°¸ê³ : ëª ì ëë¹ê° ëì¼ë©´ ê´í íë©´ì´ ìë ì¤ë§í¸í°ì´ë íë¸ë¦¿ì ì¬ì©íë ì¬ëì íë¹ê³¼ ê°ì ë°ì íê²½ìì íì´ì§ë¥¼ ë ì ì½ì ì ìëë¡ í´ì¤ëë¤.
ë ë¤ë¥¸ íì íì§í/ì 보를 ìììë§ ìì¡´íì§ ìë ê²ì ëë¤. ì´ë ììì ë³¼ ì ìë ì¬ëë¤ìê²ë ì¢ì§ ì기 ë문ì ëë¤. ì를 ë¤ì´, íì ìì íë를 빨ê°ìì¼ë¡ íìíë ëì ë³íì 빨ê°ìì¼ë¡ íìíì¸ì.
ìì ì¨ê¸°ê¸°
ìê°ì ëìì¸ìì 모ë ì½í ì¸ ê° í ë²ì íìëì§ ìëë¡ ì구íë ê²½ì°ê° ë§ì´ ììµëë¤. ì를 ë¤ì´, í ì ë³´ ìì ìì (ìì¤ ì½ë)ìë ì¸ê°ì§ ì ë³´ í¨ëì´ ìì§ë§, ì°ë¦¬ë ê·¸ê²ë¤ì ìë¡ì ìì ë°°ì¹íê³ í´ë¦íì¬ ê°ê°ì íìí ì ìë íì ì ê³µíê³ ììµëë¤. (Tab í¤ì Enter/Returnì ì¬ì©íì¬ í¤ë³´ëë¡ ì¡ì¸ì¤í ìë ììµëë¤.)

ì¤í¬ë¦° 리ë ì¬ì©ìë ì´ ì¤ ì´ë¤ ê²ë ì ê²½ ì°ì§ ììµëë¤. ìì¤ ììê° ì ì íê³ ëª¨ë ë´ì©ì ì½ì ì ìë¤ë©´ ë§ì¡±í©ëë¤. ì´ ììì ì¬ì©ë ì ë ìì¹ ì§ì ì ì¼ë°ì ì¼ë¡ ì¤í¬ë¦° 리ëê° ì½í ì¸ ì ì ê·¼íë ê²ì ë°©í´íì§ ì기 ë문ì ìê°ì í¨ê³¼ë¥¼ ìí´ ì½í ì¸ ë¥¼ ì¨ê¸°ë ê°ì¥ ì¢ì ë©ì»¤ëì¦ ì¤ íëë¡ ê°ì£¼ë©ëë¤.
ë°ë©´ì visibility:hidden ëë display:noneì ì¤í¬ë¦° 리ëìì ì½í
ì¸ ë¥¼ ì¨ê¸°ê¸° ë문ì ì¬ì©íë©´ ì ë©ëë¤. ë¬¼ë¡ , ì´ ì½í
ì¸ ë¥¼ ì¤í¬ë¦° 리ëìì ì¨ê¸°ë ¤ë íë¹í ì´ì ê° ìë ê²½ì°ë ìì¸ì
ëë¤.
ì°¸ê³ : ì¤í¬ë¦° 리ë ì¬ì©ìë§ì ìí ë³´ì´ì§ ìë ì½í ì¸ ìë ì´ ì£¼ì ì ê´ë ¨ë í¨ì¬ ë ì ì©í ì¸ë¶ ì ë³´ê° ììµëë¤.
ì¬ì©ìê° ì¤íì¼ì ì¬ì ìíë ê²ì íì©
ì¬ì©ìê° ìì ë§ì ë§ì¶¤ ì¤íì¼ë¡ ì¤íì¼ì ì¬ì ìí ì ììµëë¤. ì를 ë¤ë©´ ë¤ìê³¼ ê°ìµëë¤.
- Sarah Maddoxì Firefoxìì ì¬ì©ì ì ì ì¤íì¼ ìí¸(CSS)를 ì¬ì©íë ë°©ë²ì ì°¸ê³ íì¸ì. Firefoxìì ì´ ìì ì ìëì¼ë¡ ìííë ë°©ë²ì ë¤ë£¨ë ì ì©í ê°ì´ëì ëë¤.
- íì¥ íë¡ê·¸ë¨ì ì¬ì©íë ê²ì´ ë ì¬ì¸ ìë ììµëë¤. ì를 ë¤ì´, Stylus íì¥ íë¡ê·¸ë¨ì Firefoxìì ì¬ì©í ì ìì¼ë©° Stylishë Chromeê³¼ ëì¼í©ëë¤.
ì¬ì©ìë ë¤ìí ì´ì ë¡ ì´ ìì ì ìíí ì ìë¤. ìê° ì¥ì ê° ìë ì¬ì©ìë 방문íë 모ë ì¹ ì¬ì´í¸ìì í ì¤í¸ë¥¼ ë í¬ê² íìíê³ ì¶ì ìë ìê³ , ì¬ê°í ìë§¹ì´ ìë ì¬ì©ìë 모ë ì¹ ì¬ì´í¸ë¥¼ ì½ê² ë³¼ ì ìëë¡ ê³ ëë¹ ììì¼ë¡ íìí ìë ììµëë¤. íìê° ë¬´ìì´ë , ì´ì ìµìí´ì ¸ì¼ íë©° ê·¸ë¬í ë³ê²½ ì¬íì´ ëìì¸ì ì ì©ë ì ìëë¡ ëìì¸ì ì¶©ë¶í ì ì°íê² ë§ë¤ì´ì¼ í©ëë¤. ì를 ë¤ì´, 기본 ì½í ì¸ ììì´ ë í° í ì¤í¸ë¥¼ ì²ë¦¬í ì ìëì§(모ë ë´ì©ì´ íìëëë¡ ì¤í¬ë¡¤ë기 ììí ìë ìì) ë¨ìí ì¨ê¸°ê±°ë ìì í 깨ì§ì§ ìëë¡ í ì ììµëë¤.
JavaScript
JavaScriptë ì´ë»ê² ì¬ì©íëì ë°ë¼ ì ê·¼ì±ì 깨ë¨ë¦´ ì ììµëë¤.
ìµì JavaScriptë ê°ë ¥í ì¸ì´ì´ë©°, ì¤ëë ê°ë¨í ì½í ì¸ ë° UI ì ë°ì´í¸ë¶í° ìì í 2D ë° 3D ê²ìê¹ì§ ë§ì ìì ì ìíí ì ììµëë¤. 모ë ì½í ì¸ ê° ëª¨ë ì¬ëìê² 100% ì ê·¼ ê°ë¥í´ì¼ íë¤ë ê·ì¹ì ììµëë¤. ë¨ì§ í ì ìë ì¼ì íê³ ì±ì ê°ë¥í í ì ê·¼ ê°ë¥íê² ë§ë¤ê¸°ë§ íë©´ ë©ëë¤.
ê°ë¨í ì½í ì¸ ì 기ë¥ì ì½ê² ì¡ì¸ì¤í ì ììµëë¤. ì를 ë¤ì´, í ì¤í¸, ì´ë¯¸ì§, í, ìì, 기ë¥ì íì±ííë í¸ì ë²í¼ ë±ì´ ììµëë¤. HTML: ì ê·¼ì±ì ìí ì¢ì ê¸°ë° ë¬¸ììì ì´í´ë³¸ ê²ì²ë¼ 주ì ê³ ë ¤ ì¬íì ë¤ìê³¼ ê°ìµëë¤.
- ì¢ì ìë¯¸ë¡ : ì¬ë°ë¥¸ ìì
ì ì í©í ìì를 ì¬ì©í©ëë¤. ì를 ë¤ì´, ì 목과 ë¨ë½,
<button>ë°<a>ìì를 ì¬ì©íëì§ íì¸íì¸ì. - ì½í ì¸ ê° ì§ì í ì¤í¸ ì½í ì¸ , ìì ììì ì í©í í ì¤í¸ ë ì´ë¸ ëë ëì²´ í ì¤í¸(ì: ì´ë¯¸ì§ ëì²´ í ì¤í¸)ë¡ ì ê³µëëì§ íì¸íì¸ì.
ëí JavaScript를 ì¬ì©íì¬ ëë½ë 기ë¥ì 구ì¶íë ë°©ë²ì ëí ìë ì´í´ë³´ììµëë¤. í¤ë³´ë ì ê·¼ì± ë¤ì 구ì¶ì 참조íì¸ì. ì´ë ì´ìì ì´ì§ë ìì§ë§, ì´ë¤ ì´ì ë¡ ì¬ì©ëë ë§í¬ì ì ì ì´í ì ìë ìí©ììë ê°ë¥íë¤ë ê²ì ë³´ì¬ì¤ëë¤. ë¹ìë¯¸ë¡ ì JavaScript ê¸°ë° ìì ¯ì ëí ì ê·¼ì±ì í¥ììí¤ë ë ë¤ë¥¸ ë°©ë²ì WAI-ARIA를 ì¬ì©íì¬ ì¤í¬ë¦° 리ë ì¬ì©ììê² ì¶ê°ì ì¸ ìë¯¸ë¡ ì ì ê³µíë ê²ì ëë¤. ë¤ì 문ìììë ì´ ë¬¸ì 를 ìì¸í ë¤ë£° ê²ì ëë¤.
3D ê²ìê³¼ ê°ì ë³µì¡í 기ë¥ì ì ê·¼í기 ì½ì§ ììµëë¤. WebGLì ì¬ì©íì¬ ë§ë ë³µì¡í 3D ê²ìì íì¬ë¡ìë ì¤ì¦ ìê° ì¥ì ì¸ì´ íì©í ì ìë ì ë³´ì¸ ëì²´ í
ì¤í¸ë ë¤ë¥¸ ì 보를 ì ê³µí ì ìë 기ë¥ì´ ìë <canvas> ìììì ë ëë§ë©ëë¤. ì´ë¬í ê²ììë ì¤ì ë¡ ì¤ì¦ ìê° ì¥ì ì¸ ê·¸ë£¹ì ì¬ëë¤ì´ 주ì ëì ì²ì¤ì ì¼ë¶ë¡ í¬í¨ëì´ ìì§ ìì¼ë©° ìê° ì¥ì ì¸ì´ 100% ì ê·¼í ì ìëë¡ ê¸°ëíë ê²ì ë¹í©ë¦¬ì ì
ëë¤. ê·¸ë¬ë, í¤ë³´ë ì ì´ë¥¼ 구ííì¬ ë§ì°ì¤ê° ìë ì¬ì©ìë ì¬ì©í ì ìëë¡ íê³ ìì½ì´ ìë ì¬ì©ìë ì¬ì©í ì ìì ë§í¼ ì 구ì±í를 ì¶©ë¶í ëë¹ëê² ë§ë¤ ì ììµëë¤.
ë무 ë§ì JavaScriptì 문ì
문ì ë ì¢ ì¢ ì¬ëë¤ì´ JavaScriptì ë무 ë§ì´ ìì¡´í ë ë°ìí©ëë¤. ëë¡ë 모ë ê²ì´ JavaScriptë¡ ì´ë£¨ì´ì§ ì¹ ì¬ì´í¸ë¥¼ ë³´ê² ë ê²ì ëë¤. HTML, CSSë JavaScriptë¡ ìì±ëììµëë¤. ì´ê²ì 모ë ì¢ ë¥ì ì ê·¼ì± ë° ê·¸ì ê´ë ¨ë ë¤ë¥¸ 문ì ë¤ì ê°ì§ê³ ìì¼ë¯ë¡ ê¶ì¥ëì§ ììµëë¤.
ì¬ë°ë¥¸ ìì ì ì í©í ìì를 ì¬ì©í ë¿ë§ ìëë¼ ì¬ë°ë¥¸ ìì ì ì í©í 기ì ì ì¬ì©íê³ ìëì§ë íì¸í´ì¼ í©ëë¤! ë¹ëë JavaScript ê¸°ë° 3D ì ë³´ ììê° íìíì§, ìëë©´ íë²í ì¤ëë í ì¤í¸ê° íìíì§ ì ì¤íê² ìê°í´ ë³´ì¸ì. ë³µì¡í ë¹íì¤ ìì ìì ¯ì´ íìíì§, ìëë©´ í ì¤í¸ ì ë ¥ì´ íìíì§ ì ì¤íê² ìê°í´ ë³´ì¸ì. ê·¸ë¦¬ê³ ê°ë¥íë¤ë©´ JavaScript를 ì¬ì©íì¬ ëª¨ë HTML ì½í ì¸ ë¥¼ ìì±íì§ ë§ì¸ì.
ëì ëì§ ìê² ì ì§í기
ì½í ì¸ ë¥¼ ë§ë¤ ë ëì ëì§ ìë JavaScript를 ì¼ëì ëì´ì¼ í©ëë¤. ëì ëì§ ìë JavaScriptì ê°ë ì ê°ë¥í í 기ë¥ì í¥ììí¤ë ë° ì¬ì©ëì´ì¼ íë©°, ì 체를 구ì¶íë ë° ì¬ì©ëì´ì ì ë©ëë¤. 기본 기ë¥ì JavaScript ìì´ë ì´ìì ì¼ë¡ ìëí´ì¼ íì§ë§ ì´ê²ì´ íì ê°ë¥í ê²ì ìëë¼ë ì ì ì ìê³ ììµëë¤. íì§ë§ ë¤ì ë§í´, ê°ë¥í í ë´ì¥ë ë¸ë¼ì°ì 기ë¥ì ì¬ì©íë ê²ì´ ì¤ìí©ëë¤.
ëì ëì§ ìë JavaScriptì ì¢ì ìë ë¤ìê³¼ ê°ìµëë¤.
- ìë²ê° ë°ì´í°ë¥¼ íì¸í ëê¹ì§ 기ë¤ë¦¬ì§ ìê³ ë ì¬ì©ììê² ìì í목ì ëí 문ì 를 ë¹ ë¥´ê² ìë ¤ì£¼ë í´ë¼ì´ì¸í¸ 측 ìì ê²ì¦ì ì ê³µí©ëë¤. ì¬ì©í ì ìë ê²½ì° ììì ì¬ì í ìëíì§ë§ ê²ì¦ì ë ë릴 ì ììµëë¤.
- JavaScript를 ì¬ì©í ì ìë ê²½ì° ì¬ì©í ì ìë ëììì ëí ì§ì ë§í¬ì í¨ê» í¤ë³´ë ì¬ì©ìê° ìì¸ì¤í ì ìë HTML
<video>ì ë§ì¶¤í 컨í¸ë¡¤ì ì ê³µí©ëë¤(기본<video>ë¸ë¼ì°ì 컨í¸ë¡¤ì ëë¶ë¶ì ë¸ë¼ì°ì ìì í¤ë³´ëë¡ ì¡ì¸ì¤í ì ììµëë¤).
ìì ë¡ ë¹ ë¥´ê³ ì§ì ë¶í í´ë¼ì´ì¸í¸ 측 ìì ì í¨ì± ê²ì¬ë¥¼ ìì±íìµëë¤. form-validation.html를 ì°¸ê³ íì¸ì. ì¬ê¸°ìë ê°ë¨í ììì ë³¼ ì ììµëë¤. íë ëë ë íë를 모ë ë¹ì ëê³ ììì ì ì¶íë ¤ê³ íë©´ ì ì¶ì´ ì¤í¨íê³ ë¬´ìì´ ì못ëìëì§ ìë ¤ì£¼ë ì¤ë¥ ë©ìì§ê° ëíë©ëë¤.
ì´ë¬í ì¢ ë¥ì ìì ì í¨ì± ê²ì¬ë ëì ëì§ ììµëë¤. JavaScript를 ì¬ì©í ì ìì´ë ììì ìë²½íê² ì¬ì©í ì ìì¼ë©°, ì ìì ì¸ ì¬ì©ìê° í´ë¼ì´ì¸í¸ 측 ê²ì¦(ì: ë¸ë¼ì°ì ìì JavaScript ë¹íì±í)ì ì°ííê¸°ê° ë무 ì½ê¸° ë문ì í©ë¦¬ì ì¸ ìì 구íììë ìë² ì¸¡ ì í¨ì± ê²ì¬ë íì±íë©ëë¤. í´ë¼ì´ì¸í¸ 측 ê²ì¦ì ì¤ë¥ë¥¼ ë³´ê³ íë ë° ì¬ì í ë§¤ì° ì ì©í©ëë¤. ì¬ì©ìë ìë²ë¡ ìë³µíê³ íì´ì§ë¥¼ ë¤ì ë¡ëí íì ìì´ ì¦ì ì¤ì를 ì ì ììµëë¤. ì´ë íì¤í ì ì©í ì ì ëë¤.
ì°¸ê³ : ì´ ê°ë¨í ë°ëª¨ììë ìë²ì¸¡ ì í¨ì± ê²ì¬ê° 구íëì§ ìììµëë¤.
ì°ë¦¬ë ì´ ìì ê²ì¬ì ëí ì ê·¼ì±ë ë§¤ì° ëê² ë§ë¤ììµëë¤. <label> ìì를 ì¬ì©í´ì ìì ë ì´ë¸ì´ ì
ë ¥ì ëª
ííê² ì°ê²°ëì´ ìë ê²ì íì¤íê² í´ì ì¤í¬ë¦° 리ëê° ë¤ìê³¼ ê°ì´ ì½ì ì ììµëë¤.
<label for="name">Enter your name:</label>
<input type="text" name="name" id="name" />
ììì´ ì ì¶ë ëë§ ì í¨ì± ê²ì¬ë¥¼ ìíí©ëë¤. ì´ë UI를 ë무 ì주 ì ë°ì´í¸íì§ ìê³ ì¤í¬ë¦° 리ë(ë° ê¸°í) ì¬ì©ììê² ì ì¬ì ì¼ë¡ í¼ëì ì£¼ì§ ì기 ìí ê²ì ëë¤.
form.onsubmit = validate;
function validate(e) {
errorList.innerHTML = "";
for (let i = 0; i < formItems.length; i++) {
const testItem = formItems[i];
if (testItem.input.value === "") {
errorField.style.left = "360px";
createLink(testItem);
}
}
if (errorList.innerHTML !== "") {
e.preventDefault();
}
}
ì°¸ê³ : ì´ ìì ììë ì¤í¬ë¦° 리ëê° ë´ì©ì ì½ë ë° ë°©í´ê° ëì§ ì기 ë문ì displayë visibility ë±ì ë¤ë¥¸ ë°©ë² ëì ì ë ìì¹ ì§ì ì ì¬ì©íì¬ ì¤ë¥ ë©ìì§ ìì를 ì¨ê¸°ê³ íìí©ëë¤.
ì¤ì ìì ì í¨ì± ê²ì¬ë ì´ë³´ë¤ í¨ì¬ ë ë³µì¡í©ëë¤. ì
ë ¥í ì´ë¦ì´ ì¤ì ë¡ ì´ë¦ì²ë¼ ë³´ì´ê³ , ì
ë ¥ë ëì´ê° ì¤ì ë¡ ì«ìì´ë©° ì¬ì¤ì ì¸ì§(ì: ììê° ìëë©° 4ì리 미ë§) íì¸íê³ ì í©ëë¤. ì¬ê¸°ìë ê° ì
ë ¥ íëì ëí ê°ì´ ì
ë ¥ëìëì§ (if (testItem.input.value === '')) íì¸íë ê°ë¨í ê²ì¬ë¥¼ 구ííìµëë¤.
ì í¨ì± ê²ì¬ê° ìíëìì ë í
ì¤í¸ê° íµê³¼ëë©´ ììì´ ì ì¶ë©ëë¤. ì¤ë¥ê° ìë ê²½ì° (if (errorList.innerHTML !== '')) ìì ì ì¶ì ì¤ì§íê³ (preventDefault()를 ì¬ì©) ìì±ë ì¤ë¥ ë©ìì§ë¥¼ íìí©ëë¤(ìë ì°¸ê³ ). ì´ ë©ì»¤ëì¦ì ì¤ë¥ê° ìë ê²½ì°ìë§ ì¤ë¥ê° íìë¨ì ì미íë¯ë¡ ì¬ì©ì±ì ë ì¢ìµëë¤.
ììì ì ì¶í ë ì
ë ¥í ê°ì´ ìë ì
ë ¥ì ëí´ ë§í¬ê° ìë ëª©ë¡ ìì´í
ì ë§ë¤ì´ errorListì ì½ì
í©ëë¤.
function createLink(testItem) {
const listItem = document.createElement("li");
const anchor = document.createElement("a");
const name = testItem.input.name;
anchor.textContent = `${name} field is empty: fill in your ${name}.`;
anchor.href = `#${name}`;
listItem.appendChild(anchor);
errorList.appendChild(listItem);
}
ê° ë§í¬ë ë ê°ì§ 목ì ì ìí´ ì¬ì©ë©ëë¤. ì¤ë¥ê° 무ìì¸ì§ ìë ¤ì£¼ë©°, í´ë¹ ë§í¬ë¥¼ í´ë¦/íì±ííì¬ í´ë¹ ì ë ¥ ììë¡ ë°ë¡ ì´ëíì¬ í목ì ìì í ì ììµëë¤.
ëí errorFieldë ìì¤ ììì 맨 ìì ë°°ì¹ëì´ ììµëë¤(CSS를 ì¬ì©íë UIì ìì¹ë ë¤ë¥´ì§ë§). ì´ë ì¬ì©ìê° ìì ì ì¶ì 문ì ì ì íì
íê³ íì´ì§ì ì²ìì¼ë¡ ëìê°ì 문ì ì ì
ë ¥ ìì를 íì
í ì ìë¤ë ê²ì ì미í©ëë¤.
ë§ì§ë§ì¼ë¡, ì°ë¦¬ë WAI-ARIA ìì±ì ëªê°ì§ ë°ëª¨ì ì¬ì©íì¬ íì´ì§ë¥¼ ë¤ì ë¡ëíì§ ìê³ ì½í ì¸ ììì´ ì§ìì ì¼ë¡ ì ë°ì´í¸ë¨ì ë°ë¼ ë°ìíë ì ê·¼ì± ë¬¸ì 를 í´ê²°íë ë° ëìì 주ììµëë¤(ì¤í¬ë¦° 리ëë 기본ì ì¼ë¡ ì´ ë¬¸ì 를 ì ííê±°ë ì¬ì©ììê² ê²½ê³ íì§ ìì).
<div class="errors" role="alert" aria-relevant="all">
<ul></ul>
</div>
ì´ë¬í ìì±ì ëí´ìë WAI-ARIA를 í¨ì¬ ë ìì¸í ë¤ë£¨ë ë¤ì 문ììì ì¤ëª íê² ìµëë¤.
ì°¸ê³ :
HTML ììì required, min/minlength, max/maxlength ìì±ê³¼ ê°ì ê²ì¦ ë©ì»¤ëì¦ì´ ë´ì¥ëì´ ìë¤ë ì¬ì¤ì ìê°í´ ë³´ìë ë¶ë¤ë ìì ê²ì
ëë¤(ìì¸í ë´ì©ì <input> ìì를 ì°¸ê³ íì¸ì). ì¬ë¬ ë¸ë¼ì°ì ìì ì§ìì´ ê³ ë¥´ì§ ì기 ë문ì ë°ëª¨ìì ì¬ì©íì§ ëª»íìµëë¤(ì: IE10 ì´ììë§ ì§ì).
ì°¸ê³ : WebAIMì ì¬ì© ê°ë¥íê³ ì¡ì¸ì¤ ê°ë¥í ìì ì í¨ì± ê²ì¬ ë° ì¤ë¥ 복구ë ì¡ì¸ì¤ ê°ë¥í ìì ì í¨ì± ê²ì¬ì ëí ëª ê°ì§ ì ì©í ì 보를 ë ì ê³µí©ëë¤.
ë¤ë¥¸ JavaScript ì ê·¼ì± ë¬¸ì
JavaScript를 구ííê³ ì ê·¼ì±ì ëí´ ìê°í ë 주ìí´ì¼ í ì¬íì´ ììµëë¤. ì°¾ë ëë¡ ì¶ê°ë ìì ì ëë¤.
ë§ì°ì¤ ê³ ì ì´ë²¤í¸
ììë¤ìí¼ ëë¶ë¶ì ì¬ì©ì ìí¸ ìì©ì ì´ë²¤í¸ í¸ë¤ë¬ë¥¼ ì¬ì©íì¬ í´ë¼ì´ì¸í¸ 측 JavaScriptë¡ êµ¬íëë©°, ì´ë¥¼ íµí´ í¹ì ì´ë²¤í¸ ë°ìì ëí ìëµì¼ë¡ í¨ì를 ì¤íí ì ììµëë¤. ì¼ë¶ ì´ë²¤í¸ìë ì ê·¼ì± ë¬¸ì ê° ìì ì ììµëë¤. ì¬ë¬ë¶ì´ ë³´ê² ë 주ì ìë mouseover, mouseout, dblclick ë±ê³¼ ê°ì ë§ì°ì¤ ê³ ì ì´ë²¤í¸ì ëë¤. ì´ë¬í ì´ë²¤í¸ì ìëµíì¬ ì¤íëë 기ë¥ì í¤ë³´ë ì ì´ì ê°ì ë¤ë¥¸ ë©ì»¤ëì¦ì ì¬ì©íì¬ ìì¸ì¤í ì ììµëë¤.
ì´ë¬í 문ì 를 ìííë ¤ë©´ í¤ë³´ë ì¬ì©ììê² ì ê·¼ì±ì ì ê³µíë ë¤ë¥¸ ë°©ë²(ìì ì¥ì¹ ë 립ì ì´ë²¤í¸ í¸ë¤ë¬)ì¼ë¡ íì±íí ì ìë ì ì¬í ì´ë²¤í¸ì í¨ê» ì´ë¬í ì´ë²¤í¸ë¥¼ ë ë°°ë¡ ëë ¤ì¼ í©ëë¤. focus ë° blur ë í¤ë³´ë ì¬ì©ììê² ì ê·¼ì±ì ì ê³µí©ëë¤.
ì´ê²ì´ ì ì©í ì ìë ê²½ì°ë¥¼ ì´í´ë³´ê² ìµëë¤. ì ììê±°ë ì í ì¹´íë¡ê·¸ìì ë³¼ ì ìë ê²ì²ë¼ ë§ì°ì¤ë¥¼ ì¬ë¦¬ê±°ë ì´ì ì ë§ì¶ë©´ ì´ë¯¸ì§ì ë í° ë²ì ì íìíë ì¸ë¤ì¼ ì´ë¯¸ì§ë¥¼ ì ê³µíê³ ì¶ì ìë ììµëë¤.
ì°ë¦¬ë mouse-and-keyboard-events.html (ìì¤ ì½ë를 ì°¸ê³ íì¸ì.)ìì ë§¤ì° ê°ë¨í ì를 ë§ë¤ììµëë¤. ì´ ì½ëìë íëë ì´ë¯¸ì§ë¥¼ íìíê³ ì¨ê¸°ë ë ê°ì§ 기ë¥ì´ ììµëë¤. ì´ë ì´ë²¤í¸ í¸ë¤ë¬ë¡ ì¤ì ë ë¤ì ì¤ì ìí´ ì¤íë©ëë¤.
imgThumb.onmouseover = showImg;
imgThumb.onmouseout = hideImg;
imgThumb.onfocus = showImg;
imgThumb.onblur = hideImg;
ì²ì ë ì¤ì ê°ê° ë§ì°ì¤ í¬ì¸í°ë¥¼ ì¸ë¤ì¼ ìë¡ ê°ì ¸ê° ëì ë©ì¶ìì ë 기ë¥ì ì¤íí©ëë¤. íì§ë§ í¤ë³´ëë¡ íë/ì¶ìë 보기ì ì¡ì¸ì¤í ìë ììµëë¤. ì´ë¥¼ íì©í기 ìí´ ì´ë¯¸ì§ì ì´ì ì´ ë§ì¶°ì§ê³ íë ¤ì§ ë(ì´ì ì´ ë©ì¶ ë) 기ë¥ì ì¤ííë ë§ì§ë§ ë ì¤ì í¬í¨íìµëë¤. ì´ê²ì ì´ë¯¸ì§ ìì tabindex="0"ì í¬í¨ì켰기 ë문ì ì´ë¯¸ì§ ìì íì ëë¬ ìíí ì ììµëë¤.
click ì´ë²¤í¸ë í¥ë¯¸ë¡ìµëë¤. ë§ì°ì¤ì ìì¡´íë ê²ì²ë¼ ë³´ì´ì§ë§ ëë¶ë¶ì ë¸ë¼ì°ì ë ì´ì ì´ ìë ë§í¬ë ìì ìììì Enter/Returnì ë른 í ëë í°ì¹ ì¤í¬ë¦° ì¥ì¹ìì ì´ë¬í ìì를 íí ë onclick ì´ë²¤í¸ í¸ë¤ë¬ë¥¼ íì±íí©ëë¤. ê·¸ë¬ë tabindex를 ì¬ì©íì¬ ê¸°ë³¸ ì´ì ê°ë¥ ì´ë²¤í¸ê° ìë ì´ë²¤í¸ì ì´ì ì ëë ê²½ì°ìë 기본ì ì¼ë¡ ëìíì§ ììµëë¤. ì´ë¬í ê²½ì° ì íí í¤ë¥¼ ëë ì ë í¹ë³í ê°ì§í´ì¼ í©ëë¤(í¤ë³´ë ì ê·¼ì± ë¤ì 구ì¶ë¥¼ ì°¸ê³ íì¸ì.).
ì¤ë ¥ì ìíí´ ë³´ì¸ì!
ì´ ë¬¸ì를 ëê¹ì§ ì½ìì§ë§ ê°ì¥ ì¤ìí ì 보를 기ìµí ì ììµëê¹? ê³ì ì§íí기 ì ì ì´ ì 보를 ì ì§íëì§ íì¸í기 ìí ëªê°ì§ ì¶ê° í ì¤í¸ë¥¼ íì¸í ì ììµëë¤. ì¤ë ¥ í ì¤í¸: CSS ë° JavaScript ì ê·¼ì±ë¥¼ ì°¸ê³ íì¸ì.
ìì½
ì´ ë¬¸ì를 íµí´ ì¹ íì´ì§ìì CSS ë° JavaScript ì¬ì©ê³¼ ê´ë ¨ë ì ê·¼ì± ë¬¸ì ì ëí´ ë§ì ì¸ë¶ ì ë³´ì ì´í´ë¥¼ ì»ì기를 ë°ëëë¤.
ë¤ìì WAI-ARIAì ëë¤!
page(Doc) not found /ko/docs/Learn/Accessibility/WAI-ARIA_basics