-
μ 보 μ΄λ―Έμ§
: κ°λ κ³Ό μ 보λ₯Ό κ·Έλν½μΌλ‘ λνλ΄λ μ΄λ―Έμ§, μΌλ°μ μΌλ‘ κ·Έλ¦Ό, μ¬μ§ λ° μ½νμ 보 μ΄λ―Έμ§λ μ΄λ―Έμ§μ λνμ¬ λ체 ν μ€νΈλ₯Ό μ¬μ©νμ¬
- μ 보λ₯Ό 보μ
- μ 보μ λ μ΄λΈμ μ§μ
- κ°κ²°ν μ 보λ₯Ό μ λ¬
- μΈμμ΄λ κ°μ μ μ λ¬
- νμΌ νμμ μ λ¬
λ€μκ³Ό κ°μ κ²λ€μ 보μνμ¬ μ κ·Όμ±μ λμΈλ€
-
μ₯μ μ΄λ―Έμ§
: μ΄λ―Έμ§μ λͺ©μ μ΄ νμ΄μ§μ μ΄ν΄νλλ° μ€μν μ λ³΄κ° μλ μκ°μ μ₯μμΈ κ²½μ°μ μΆκ°μ₯μ μ΄λ―Έμ§λ λ¨μν νμ΄μ§μ λͺ¨μμ κ°μ νλ κ²μΌλ‘ μ¬μ© λμ΄μΌ νκΈ°μ μ¬λ¬Όμ μλ³νκ±°λ λ€λ₯Έ μ 보λ₯Ό μ λ¬νλ κ²μ΄λΌλ©΄ μ 보 μ΄λ―Έμ§λ‘ μ¬μ©λμ΄μΌ νλ€
λ ATκ° λ¬΄μν΄μΌ νλ μ΄λ―Έμ§μ img μμμ null λ체 ν μ€νΈ λ° μ λͺ© μμ± μμ μ¬μ©ν΄μΌ νλ€
μ λͺ© μμ±μ΄ μ¬μ©λμ§ μκ³ λ체 ν μ€νΈκ° nullλ‘ μ€μ λ κ²½μ° μ₯μ μ΄λ―Έμ§λ₯Ό μμ νκ² λ¬΄μν μ μμμ λνλΈλ€
(μ°Έκ³ :Β "null"Β
alt
μμ±μ΄ μλ κ²μ μμ±μ΄ μλ κ²κ³Ό λ€λ₯΄λ€)<img {...} alt="" /> !== <img {...} />
-
κΈ°λ₯ μ΄λ―Έμ§
: λ§ν¬ λλ λ²νΌμΌλ‘ μ¬μ© λλ μ΄λ―Έμ§κΈ°λ₯μ μ΄λ―Έμ§λ μ 보λ₯Ό μ λ¬ν기보λ€λ μμ μ μμνλ λ° μ¬μ©νλ€. μ΄ κ²½μ°μλ μΆκ° μ 보λ₯Ό μ 곡ν¨μΌλ‘μ¨ μ κ·Όμ±μ λμΌ μ μλ€. (λ¨, λ 립μ μ΄μ§ μμ κ²½μ° λ체 ν μ€νΈμλ nullμ μ λ ₯ν΄μ€λ€)
- ****λ¨λ μΌλ‘ λ§ν¬λ λ‘κ³ λ‘ μ¬μ©λ μ΄λ―Έμ§
- λ§ν¬ ν μ€νΈ λ΄μ μ΄λ―Έμ§ (λ 립μ μ΄μ§ μμ κ²½μ°)
- κΈ°λ₯μ΄ μλ λ 립ν μμ΄μ½ μ΄λ―Έμ§
- λ²νΌμ μ¬μ©λ μ΄λ―Έμ§****
μΈμ κΉμλ λΆλΆ
<form action='end-point' method='HTTP'> <input type='image' name='submit' src='button.gif' alt='Submit' /> </form>
-
볡μ‘ν μ΄λ―Έμ§
(κ·Έλν λ° λ€μ΄μ΄κ·Έλ¨ λ±): λ°μ΄ν° λλ μμΈν μ 보λ₯Ό μ λ¬νκΈ° μν΄ μ΄λ―Έμ§μμ μ 곡λλ λ°μ΄ν° λλ μ 보μ λλ±ν μμ ν ν μ€νΈλ₯Ό ν μ€νΈ λμμΌλ‘ μ 곡λ κ°μ§ λ체 ν μ€νΈκ° νμνλ€. 첫 λ²μ§Έλ μ΄λ―Έμ§λ₯Ό μλ³νκΈ° μν κ°λ¨ν μ€λͺ μ΄λ€. κΈ΄ μ€λͺ μ μμΉλ₯Ό λνλ΄κΈ°λ νλ€ λ λ²μ§Έλ μ΄λ―Έμ§κ° μ λ¬νλ νμ μ 보λ₯Ό ν μ€νΈλ‘ ννν κΈ΄ μ€λͺ μ΄λ€
μ΄λ κΈ΄ μ€λͺ μ λ€μν λ°©λ²μΌλ‘ μ κ·Όν μ μλ€
1. λ³λμ μΉ νμ΄μ§ λλ μμΈν μ€λͺ μ΄ ν¬ν¨λ μΉ νμ΄μ§μ λ§ν¬λ₯Ό μ΄λ―Έμ§ μμ μ 곡
μ΄ μ κ·Ό λ°©μμ λͺ¨λ μΉ λΈλΌμ°μ μ 보쑰 κΈ°μ μμ μ¬μ©ν μ μλ€.Β κ·Έλ¬λ λ§ν¬μ μ΄λ―Έμ§κ° μλ―Έλ‘ μ μΌλ‘ μ°κ΄λμ§ μλλ€. λλ¬Έμ HTML5Β
<figure>
λ°Β<figcaption>
μμλ₯Ό ν΅ν΄ μλ―Έλ‘ μ μΌλ‘ μ΄λ―Έμ§μ λ§ν¬λ₯Ό κ·Έλ£Ήν ν μ μλ€. 3λ² μ κ·Όλ² μ°Έκ³2. alt μμ±μ κΈ΄μ€λͺ μμΉ νκΈ°
μ΄λ―Έμ§μ λμΌν μΉ νμ΄μ§μ κΈ΄ μ€λͺ μ΄ μ 곡λλ κ²½μ°Β alt μμ±μ μ΄μ©νμ¬ μμΉλ₯Ό μ€λͺ ν μ μλ€.Β ν΄λΉ μ κ·Όμ μμΉ μ 보λ μ¬μ©μκ° μ½ν μΈ λ₯Ό μ°Ύλ λ° λμμ΄ λλλ‘ λͺ ννκ³ μ νν΄μΌ νλ€
3. μ΄λ―Έμ§μ μΈμ ν κΈ΄ μ€λͺ μ ꡬ쑰μ μΌλ‘ μ°κ²° HTML5
figure
μμλ μ΄λ―Έμ§μ μμΈν μ€λͺ μ λͺ¨λ ν¬ν¨νλ λ° μ¬μ©ν μ μμ΅λλ€.Β κΈ΄ μ€λͺ μΒ<figcaption>
μμμ λνλλ€.Β μμμ μλ―Έλ₯Ό μ λ¬νμ§ μλ μΉ λΈλΌμ°μ μΒrole="group"
ν¬ν¨ μμλ₯ΌΒ μ¬μ©νμ¬ μ΄λ―Έμ§μ λͺ μμ μΌλ‘ μ°κ²°λλ€// λ³λμ μΉ νμ΄μ§ μ 곡μ <p> {/* imgμ λν 짧μ μ€λͺ μ΄ν*/} <img src="chart.png" alt="Bar chart showing monthly and total visitors for the first quarter 2014 for sites 1 to 3"> <br> {/* imgμ λν κΈ΄ μ€λͺ μμΉ νκΈ°*/} <a href="2014-first-qtr.html">Example.com Site visitors Jan to March 2014 text description of the bar chart</a> </p> // HTML5 <figure role="group"> <img src="chart.png" alt="Bar chart showing monthly and total visitors for the first quarter 2014 for sites 1 to 3"> <figcaption> <a href="2014-first-qtr.html">Example.com Site visitors Jan to March 2014 text description of the bar chart</a> </figcaption> </figure>
4. longdesc μμ±μ μ΄μ©νμ¬ μ€λͺ μμ±μ κΈ΄ μ€λͺ μ΄ μλ λ€λ₯Έ μΉ νμ΄μ§λ₯Ό μ°Έμ‘°νκΈ° μν URIκ° ν¬ν¨λ κ²½μ°Β
longdesc
Β λ μ μ©νλ κ²λ μ’λ€. (μ κ·Όλ² 1μλ μ¬μ© κ°λ₯)Β λνlongdesc
λ μλ³μκ° ν¬ν¨λμ΄ μμΌλ©΄ λμΌν μΉ νμ΄μ§μμ κΈ΄ μ€λͺ μ μ 곡νλ μμλ₯Ό λνλΈλ€ (μ κ·Όλ² 2μλ μ¬μ© κ°λ₯)5.
aria-describedby="description"
μ¬μ©<img {...} aria-describedby="description"> {...} <p id="description"> {...} </p>
-
μ΄λ―Έμ§ κ·Έλ£Ή
: μ¬λ¬ μ΄λ―Έμ§κ° λ¨μΌ μ 보λ₯Ό μ λ¬νλ κ²½μ° νλμ μ΄λ―Έμ§μ λν λ체 ν μ€νΈλ μ 체 κ·Έλ£Ήμ λν μ 보λ₯Ό μ λ¬ν΄μΌ νλ€μ΄λ―Έμ§ κ·Έλ£Ήμ΄ ν¨κ» μ¬μ©λμ΄ νλμ μ 보λ₯Ό λνλΌλ μ 체 μ΄λ―Έμ§λ₯Ό μ€λͺ νλ νλμ λ체 ν μ€νΈκ° νμνλ€
λ λ§μ°¬κ°μ§λ‘ HMTL5μ
<figure>
,<figcaption>
μ μ¬μ©ν μ μλλ°,<figure>
λ₯Ό μ€λ³΅μΌλ‘ μ¬μ©νμ¬ μ 체 μ΄λ―Έμ§ 컬λ μ μ λν μΊ‘μ μ μ 곡ν μ μλ€. μ΄ κ²½μ°μ μμκ° κ°λ³ κ·Έλ£Ήμ λ μ΄λΈλ‘ μ¬μ©λλμ§Βaria-labelledby
λ₯Ό ν΅ν΄ νμΈν μ μλ€<figure role="group" aria-labelledby="fig1"> <figcaption id="fig1"> {...} </figcaption> <figure role="group" aria-labelledby="fig11"> <img {...} /> <figcaption id="fig11">{...}</figcaption> </figure> </figure>
-
μ΄λ―Έμ§ 맡
: ν΄λ¦ κ°λ₯ν μ¬λ¬ μμμ΄ ν¬ν¨λ μ΄λ―Έμ§μ λ체 ν μ€νΈλ λ§ν¬ μ§ν©μ λν μ λ°μ μΈ μ»¨ν μ€νΈλ₯Ό μ 곡ν΄μΌ νλ€. λ κ°λ³μ μΌλ‘ ν΄λ¦ν μ μλ κ° μμμλ λ§ν¬μ λͺ©μ μ΄λ λμμ μ€λͺ νλ λ체 ν μ€νΈκ° μμ΄μΌ νλ€ ν΄λΌμ΄μΈνΈμΈ‘μμ μ΄λ―Έμ§ 맡μΒ<area>
μ¬μ©μ μνΈ μμ©μ νμ©νλ μμμ΄λ€. μ ν κ°λ₯ν μμμΌλ‘ λΆν λ μ΄λ―Έμ§μ΄λ©°, μΌλ°μ μΌλ‘ μ ν κ°λ₯ν μμμ λ€λ₯Έ νμ΄μ§μ λν λ§ν¬μ΄λ€.`<img>`μ΄λ―Έμ§ 맡μ κ²½μ° μμ μ체μ μ 보 λ§₯λ½μ μ λ¬νκΈ° μν΄ κ° μμΒ `<area>`(λ§ν¬ λμ λλ λ§ν¬λ₯Ό λ°λΌκ°λ κ²½μ° μμλλ μμ μ μ λ¬νκΈ° μν΄) λͺ¨λμ λ체 ν μ€νΈκ° νμνλ€  ```jsx <img src="orgchart.png" alt="Board of directors and related staff: " usemap="#Map"> <map name="Map" id="Map"> <area shape="rect" coords="176,14,323,58" href="β¦" alt="Davy Jones: Chairman" > <area shape="rect" coords="81,75,226,114" href="β¦" alt="Carole Brewster: Company Secretary" > <area shape="rect" coords="6,138,155,182" href="β¦" alt="Harry H Brown: Marketing Director (reports to chairman)" > <area shape="rect" coords="175,138,323,182" href="β¦" alt="Paula Holbein: Sales Director (reports to chairman)" > <area shape="rect" coords="345,136,496,186" href="β¦" alt="Hugh Howard: Finance Director (reports to chairman)" > </map> ```
- μ΄λ―Έμ§μ κ·Έλν½μ λ§μ μ¬λλ€, νΉν μΈμ§ λ° νμ΅ μ₯μ κ° μλ μ¬λλ€μ΄ μ½ν μΈ λ₯Ό λ μ¦κ²κ³ μ΄ν΄νκΈ° μ½κ² λ§λ λ€
- μκ° μ₯μ κ° μλ μ¬λμ΄ μ½ν μΈ μμ λ°©ν₯μ μ‘κΈ° μν΄ μ¬μ©νλ λ¨μ μν μ νλ€
- μ€ν¬λ¦° 리λλ₯Ό μ¬μ©νλ μ¬λλ€μ μν΄ λ체 ν μ€νΈλ₯Ό μ리λ΄μ΄ μ½κ±°λ μ μλ‘ λ λλ§ν μ μλ€
- μμ± μ λ ₯ μννΈμ¨μ΄λ₯Ό μ¬μ©νλ μ¬λμ΄ λ¨μΌ μμ± λͺ λ ΉμΌλ‘ λ²νΌ λλ μ°κ²°λ μ΄λ―Έμ§μ μ΄μ μ λ§μΆ μ μλ€
- λͺ¨λ°μΌ μΉ μ¬μ©μκ° νΉμ νκ²½μμ μ΄λ―Έμ§λ₯Ό λΆλ¬μ€μ§ μμ μ μλ€
- κ²μ μμ§μμ μ΄λ―Έμ§λ₯Ό μΈλ±μ± ν μ μλ€
-
μ΄λ―Έμ§ κ·Έλ£Ή
import { FC, ReactNode } from 'react'; type ImageType = { id: string, src: string, desc: string, }; interface ImageGroupProps { group: { id: string, node: ReactNode, }; imgs: ImageType[]; } const ImageGroup: FC<ImageGroupProps> = ({ group, imgs }) => { return ( <figure role='group' aria-labelledby={group.id}> <figcaption id={group.id}>{group.node}</figcaption> {imgs.map((img) => { return ( <figure role='group' aria-labelledby={img.id}> <figcaption id={img.id}> <img src={img.src} alt={img.desc} /> </figcaption> </figure> ); })} </figure> ); }; export default ImageGroup;
-
λκ° λ μ’μ 보μ΄λμ ?
import { FC } from 'react'; interface ImageButtonProps { img: string; role: string; onClick: () => void; } const ImageButton: FC<ImageButtonProps> = ({ img, role, onClick }) => { return <input type='image' src={img} alt={role} onClick={onClick} />; }; // const ImageButton: FC<ImageButtonProps> = ({img, role, onClick}) => { // return ( // <button onClick={onClick}> // <img src={img} alt={role} /> // </button> // ); // }; export default ImageButton;