YesCoding

Go to English
search:

[์›น ์ ‘๊ทผ์„ฑ] React-helmet ์จ์„œ html lang ์†์„ฑ ๋ฐ”๊พธ๊ธฐ

thumbnail react-helmet

WHY? html lang ์†์„ฑ์„ ์‹ ๊ฒฝ์จ์•ผ ํ•˜๋Š” ์ด์œ 

์›น ์ ‘๊ทผ์„ฑ ๋•Œ๋ฌธ์ด๋‹ค. NVDA, JAWS, ์„ผ์Šค๋ฆฌ๋”, iOs VoiceOver ๋“ฑ์ด ์ด ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ NVDA๋Š” ๋ณด์ปฌ๋ผ์ด์ €, JAWS๋Š” ๋ณด์ปฌ๋ผ์ด์ €์™€ SAPI ์Œ์„ฑ์—”์ง„, ์„ผ์Šค๋ฆฌ๋”๋Š” VoiceText์™€ Sapi ์Œ์„ฑ์—”์ง„ ๋“ฑ์„ ์‚ฌ์šฉํ•˜๋Š” ์Šคํฌ๋ฆฐ ๋ฆฌ๋”์—์„œ๋Š” html์—์„œ ์„ ์–ธ๋œ ์–ธ์–ด์— ๋”ฐ๋ผ ํ•ด๋‹นํ•˜๋Š” ์–ธ์–ด ์Œ์„ฑ์œผ๋กœ ๋ฐ”๊พผ๋‹ค.

ํ•ด๋‹น ์Šคํฌ๋ฆฐ ๋ฆฌ๋”๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์œ ์ €๋“ค์„ ์œ„ํ•ด์„œ html lang ์†์„ฑ์„ ์‹ ๊ฒฝ์จ์ฃผ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

HOW

์ผ๋‹จ, create-react-app ์œผ๋กœ ๋งŒ๋“  React ๊ธฐ๋ณธ์€ html lang='en' ์ด๋‹ค.

๊ธฐ๋ณธ create-react-app html lang ์†์„ฑ

๊ธฐ๋ณธ create-react-app html lang ์†์„ฑ

์–ด๋–ป๊ฒŒ dynamic ํ•˜๊ฒŒ ์–ธ์–ด ์†์„ฑ์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์„๊นŒ? react-helmet ์„ ์“ฐ๋ฉด ๋œ๋‹ค.

handleClientStateChange โ†’ commitTagChanges โ†’ updateAttributes(TAG_NAMES.HTML, htmlAttributes) โ†’ elementTag.setAttribute(HELMET_ATTRIBUTE, attributeKeys.join(","))

์œ„ react-helmet ๋‚ด๋ถ€ ๋กœ์ง์„ ๋”ฐ๋ผ์„œ html lang ์†์„ฑ ๊ฐ’์ด ๋ณ€ํ•˜๊ฒŒ ๋œ๋‹ค.

React helmet ์ฝ”๋“œ ์˜ˆ์‹œ

React helmet ์ฝ”๋“œ ์˜ˆ์‹œ

์ฝ”๋“œ๋ฅผ ์ด๋ ‡๊ฒŒ ์งœ๋ฉด, ์•„๋ž˜์ฒ˜๋Ÿผ html ์†์„ฑ์ด ๋ฐ”๋€๋‹ค.

์„ฑ๊ณต์ ์œผ๋กœ lang ์ด ๋ฐ”๋€Œ์—ˆ๋‹ค!

์„ฑ๊ณต์ ์œผ๋กœ lang ์ด ๋ฐ”๋€Œ์—ˆ๋‹ค!

์—ฌ๊ธฐ์„œ ๋‚˜์˜ค๋Š” data-react-helmet ์†์„ฑ์€ helmet library ์—์„œ ๋ณด๋ฉด,

var HELMET_ATTRIBUTE = "data-react-helmet";

var helmetAttributeString = elementTag.getAttribute(HELMET_ATTRIBUTE);

์œผ๋กœ ๋˜์–ด updateAttributes ํ•จ์ˆ˜ ๋‚ด๋ถ€ ๋กœ์ง์— ์“ฐ์ด๊ฒŒ ๋œ๋‹ค.

MORE..

์–ธ์–ด ์„ ํƒ button ์„ ๋งŒ๋“ค์–ด์„œ ๋ฐ”๋€Œ๋Š” ๊ฐ’์„ ๋ณ€์ˆ˜์— ํ• ๋‹นํ•ด htmlAttributes ์— ๋„ฃ์–ด์ฃผ๋Š” ์ผ€์ด์Šค๋„ ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.

Recommend Post
html-equiv ์†์„ฑ์„ ์•Œ์•„๋ณด์ž
html-equiv ์†์„ฑ์„ ์•Œ์•„๋ณด์ž
html-viewpoint ์†์„ฑ์„ ์•Œ์•„๋ณด์ž
html-viewpoint ์†์„ฑ์„ ์•Œ์•„๋ณด์ž
WCAG 2.1 ๊ฐ€์ด๋“œ๋ผ์ธ
WCAG 2.1 ๊ฐ€์ด๋“œ๋ผ์ธ
react-hook-form ์‚ฌ์šฉ๋ฒ•
react-hook-form ์‚ฌ์šฉ๋ฒ•
ยฉ Copyright 2022, yesCoding