[μ›Ή ν‘œμ€€ μ‹œλ¦¬μ¦ˆ #2] λˆˆμ— 보이지 μ•ŠλŠ” ꡬ쑰의 힘: BEMκ³Ό μ‹œλ§¨ν‹± λ§ˆν¬μ—…μ˜ μ‹œλ„ˆμ§€

2025. 12. 27. 10:18Β·After. 2025

μ§€λ‚œ 1λΆ€μ—μ„œλŠ” μ›Ή 접근성이 우리 λͺ¨λ‘λ₯Ό μœ„ν•œ '보편적 ꢌ리'λΌλŠ” 철학을 λ‹€λ€˜μŠ΅λ‹ˆλ‹€. κ·Έλ ‡λ‹€λ©΄ 이 철학을 μ‹€μ œ μ½”λ“œλ‘œ μ–΄λ–»κ²Œ κ΅¬ν˜„ν•  수 μžˆμ„κΉŒμš”? μ˜€λŠ˜μ€ κ·Έ 해닡인 'μ‹œλ§¨ν‹± λ§ˆν¬μ—…'κ³Ό 'BEM 방법둠'의 ν™˜μƒμ μΈ λ§Œλ‚¨μ— λŒ€ν•΄ 이야기해 λ³΄κ² μŠ΅λ‹ˆλ‹€.


1. μ‹œλ§¨ν‹± λ§ˆν¬μ—…: νƒœκ·Έμ— '이름'이 μ•„λ‹Œ '의미'λ₯Ό λ‹΄λ‹€

μš°λ¦¬λŠ” ν”νžˆ μ›ΉνŽ˜μ΄μ§€λ₯Ό λ§Œλ“€ λ•Œ μŠ΅κ΄€μ μœΌλ‘œ <div> νƒœκ·Έλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ <div>λŠ” μ•„λ¬΄λŸ° μ˜λ―Έκ°€ μ—†λŠ” 빈 μƒμžμ™€ κ°™μŠ΅λ‹ˆλ‹€. 반면 μ‹œλ§¨ν‹± νƒœκ·Έ(Semantic Tags)λŠ” κ·Έ 자체둜 μ΄λ¦„ν‘œλ₯Ό 달고 μžˆμŠ΅λ‹ˆλ‹€.

  • <header>: "μ—¬κΈ°λŠ” λ„μž…λΆ€μ˜ˆμš”."
  • <nav>: "μ—¬κΈ°μ„œ λ‹€λ₯Έ 곳으둜 이동할 수 μžˆμ–΄μš”."
  • <main>: "μ—¬κΈ°κ°€ μ§„μ§œ μ€‘μš”ν•œ 핡심 λ‚΄μš©μ΄μ—μš”."
  • <article>: "이 λ‚΄μš©μ€ 이 자체둜 ν•˜λ‚˜μ˜ μ™„μ„±λœ κΈ€μ΄μ—μš”."

μ΄λ ‡κ²Œ νƒœκ·Έλ₯Ό 골라 μ“°λŠ” κ²ƒλ§ŒμœΌλ‘œλ„ 검색 μ—”μ§„(SEO)은 우리 μ‚¬μ΄νŠΈλ₯Ό 더 잘 μ΄ν•΄ν•˜κ³ , 슀크린 리더λ₯Ό μ‚¬μš©ν•˜λŠ” μ‚¬μš©μžλŠ” 길을 μžƒμ§€ μ•Šκ³  μ›ν•˜λŠ” 정보λ₯Ό μ°Ύμ•„κ°ˆ 수 μžˆμŠ΅λ‹ˆλ‹€.


2. BEM 방법둠: μ½”λ“œμ— '논리'λ₯Ό λ”ν•˜λ‹€

νƒœκ·Έλ‘œ λΌˆλŒ€λ₯Ό μ„Έμ› λ‹€λ©΄, 이제 κ·Έ λΌˆλŒ€μ— 이름을 뢙일 μ°¨λ‘€μž…λ‹ˆλ‹€. μ΄λ•Œ 빛을 λ°œν•˜λŠ” 것이 λ°”λ‘œ BEM(Block-Element-Modifier) λ°©λ²•λ‘ μž…λ‹ˆλ‹€.

BEM은 λ‹¨μˆœνžˆ 이름을 예쁘게 μ§“λŠ” κ·œμΉ™μ΄ μ•„λ‹™λ‹ˆλ‹€. "이 μš”μ†Œκ°€ 어디에 속해 있고, μ–΄λ–€ κΈ°λŠ₯을 ν•˜λŠ”μ§€"λ₯Ό μ½”λ“œλ§Œ 보고도 μ•Œ 수 있게 λ§Œλ“œλŠ” 논리적인 지도와 κ°™μŠ΅λ‹ˆλ‹€.

  • Block(블둝): 독립적인 μ»΄ν¬λ„ŒνŠΈ (예: .c-card)
  • Element(μš”μ†Œ): 블둝 λ‚΄λΆ€μ˜ ꡬ성원 (예: .c-card__title)
  • Modifier(μˆ˜μ‹μ–΄): μƒνƒœλ‚˜ μ™Έν˜•μ˜ λ³€ν™” (예: .c-card--featured)

3. μ™œ 이 λ‘˜μ΄ λ§Œλ‚˜μ•Ό ν• κΉŒμš”? (μ‹œλ„ˆμ§€ 효과)

μ‹œλ§¨ν‹± νƒœκ·Έμ™€ BEM이 λ§Œλ‚˜λ©΄, μ›Ήμ‚¬μ΄νŠΈλŠ” '기계와 인간 λͺ¨λ‘κ°€ 읽기 νŽΈν•œ μ™„λ²½ν•œ ꡬ쑰'κ°€ λ©λ‹ˆλ‹€.

  1. μœ μ§€λ³΄μˆ˜μ˜ 혁λͺ…: 6κ°œμ›” 뒀에 λ‚΄κ°€ μ§  μ½”λ“œλ₯Ό λ‹€μ‹œ 봐도, ν˜Ήμ€ λ™λ£Œκ°€ λ‚΄ μ½”λ“œλ₯Ό 봐도 μ–΄λ””λ₯Ό μˆ˜μ •ν•΄μ•Ό ν• μ§€ λͺ…ν™•ν•΄μ§‘λ‹ˆλ‹€.
  2. μ ‘κ·Όμ„±μ˜ μžλ™ν™”: 논리적인 BEM κ΅¬μ‘°λŠ” μžμ—°μŠ€λŸ½κ²Œ 논리적인 λ¬Έμ„œ ꡬ쑰λ₯Ό μœ λ„ν•©λ‹ˆλ‹€. μ΄λŠ” κ³§ ν›Œλ₯­ν•œ μ›Ή μ ‘κ·Όμ„±μœΌλ‘œ 이어지죠.
  3. μ „λ¬Έμ„±μ˜ 증거: Airbnb μŠ€νƒ€μΌ κ°€μ΄λ“œμ²˜λŸΌ μ—„κ²©ν•œ κ·œμΉ™μ„ μ€€μˆ˜ν•˜λ©° BEM으둜 μ„€κ³„λœ μ½”λ“œλŠ”, κ·Έ 자체둜 μ œμž‘μžμ˜ κΉŠμ€ κ³ λ―Όκ³Ό 전문성을 증λͺ…ν•©λ‹ˆλ‹€.

μ „λ¬Έκ°€μ˜ 팁: "μ˜λ„κ°€ λ‹΄κΈ΄ μ½”λ“œκ°€ 쒋은 μ½”λ“œμž…λ‹ˆλ‹€"

μš°λ¦¬κ°€ <div> μ§€μ˜₯μ—μ„œ λ²—μ–΄λ‚˜λ €κ³  λ…Έλ ₯ν•˜κ³ , 클래슀 ν•˜λ‚˜μ—λ„ 언더바 두 개(__)λ₯Ό 써가며 κ³ λ―Όν•˜λŠ” μ΄μœ λŠ” κ²°κ΅­ ν•˜λ‚˜μž…λ‹ˆλ‹€. 'μ½”λ“œλ‘œ μ†Œν†΅ν•˜κΈ° μœ„ν•΄μ„œ'μž…λ‹ˆλ‹€.

λΈŒλΌμš°μ €μ—κ²ŒλŠ” μ •ν™•ν•œ 정보λ₯Ό μ „λ‹¬ν•˜κ³ , λ™λ£Œ κ°œλ°œμžμ—κ²ŒλŠ” λͺ…ν™•ν•œ ꡬ쑰λ₯Ό 보여주며, μ‚¬μš©μžμ—κ²ŒλŠ” μ œμ•½ μ—†λŠ” μžμœ λ‘œμ›€μ„ μ£ΌλŠ” 것. 이것이 λ°”λ‘œ μ‹œλ§¨ν‹± λ§ˆν¬μ—…κ³Ό BEM이 μΆ”κ΅¬ν•˜λŠ” μ§„μ •ν•œ μ›Ή ν‘œμ€€μ˜ λͺ¨μŠ΅μž…λ‹ˆλ‹€.


BEM vs 일반 μ½”λ“œ ꡬ쑰 비ꡐ (Before & After)

🚫 Before: 의미 μ—†λŠ” div μ§€μ˜₯ (ꡬ쑰 νŒŒμ•… λΆˆκ°€)

<div class="box-wrap">
  <div class="top-title">곡지사항</div>
  <div class="txt">μ„œλΉ„μŠ€ 점검 μ•ˆλ‚΄μž…λ‹ˆλ‹€.</div>
  <div class="go-btn red">확인</div>
</div>

"기계(AI/μŠ€ν¬λ¦°λ¦¬λ”)λŠ” 이것을 'κ·Έλƒ₯ 의미 μ—†λŠ” μƒμžλ“€'둜 μΈμ‹ν•©λ‹ˆλ‹€."

  
βœ… After: μ‹œλ§¨ν‹± + BEM ꡬ쑰 (λͺ…ν™•ν•œ 논리)

<article class="c-notice-card">
  <h2 class="c-notice-card__title">곡지사항</h2>
  <p class="c-notice-card__desc">μ„œλΉ„μŠ€ 점검 μ•ˆλ‚΄μž…λ‹ˆλ‹€.</p>
  <button class="c-notice-card__btn c-notice-card__btn--f point">
    확인
  </button>
</article>

"기계와 μ‚¬λžŒ λͺ¨λ‘ 'μ€‘μš”ν•œ 곡지사항 μΉ΄λ“œ'λΌλŠ” κ±Έ μ¦‰μ‹œ μ΄ν•΄ν•©λ‹ˆλ‹€."
  

 


 

λ‹€μŒ 이야기: λ‹Ήμ‹ μ˜ μ›Ήμ‚¬μ΄νŠΈκ°€ 검색창 첫 쀄에 걸리지 μ•ŠλŠ” 이유

ꡬ쑰λ₯Ό 잘 μž‘μ•˜λ‹€λ©΄, 이제 이 λ…Έλ ₯이 μ–΄λ–»κ²Œ λΉ„μ¦ˆλ‹ˆμŠ€ κ°€μΉ˜λ‘œ μ—°κ²°λ˜λŠ”μ§€ μ•Œμ•„λ³Ό μ°¨λ‘€μž…λ‹ˆλ‹€. λ‹€μŒ 3λΆ€μ—μ„œλŠ” [ꡬ글이 μ‚¬λž‘ν•˜λŠ” μ›Ή ν‘œμ€€(SEO)]을 주제둜, 잘 짜인 μ½”λ“œκ°€ μ–΄λ–»κ²Œ νŠΈλž˜ν”½μ„ λΆˆλŸ¬μ˜€λŠ”μ§€ νŒŒν—€μ³ λ³΄κ² μŠ΅λ‹ˆλ‹€.

 

2λΆ€ 핡심 μš”μ•½

  • μ‹œλ§¨ν‹± νƒœκ·ΈλŠ” νƒœκ·Έ μžμ²΄μ— 의미λ₯Ό λΆ€μ—¬ν•΄ 기계(AI, 슀크린 리더)와 μ†Œν†΅ν•˜κ²Œ ν•œλ‹€.
  • BEM 방법둠은 이름에 논리λ₯Ό λΆ€μ—¬ν•΄ 인간(개발자, 퍼블리셔)κ³Ό μ†Œν†΅ν•˜κ²Œ ν•œλ‹€.
  • 이 λ‘˜μ˜ 결합은 μœ μ§€λ³΄μˆ˜μ„±κ³Ό μ›Ή 접근성을 λ™μ‹œμ— μž‘λŠ” κ°€μž₯ κ°•λ ₯ν•œ 무기닀.

 

πŸ’» μ½”λ“œ λ°–μ—μ„œ λ“œλ¦¬λŠ” 보좩 μ„€λͺ…

μœ„ λ³Έλ¬Έμ—μ„œ μ–ΈκΈ‰ν•œ BEM λͺ…λͺ… κ·œμΉ™μ—μ„œ 클래슀λͺ… μ•žμ— 뢙은 c-λŠ” Componentλ₯Ό μ˜λ―Έν•˜λŠ” μ ‘λ‘μ‚¬μž…λ‹ˆλ‹€. μ΄λŠ” ν”„λ‘œμ νŠΈ 규λͺ¨κ°€ 컀질 λ•Œ μœ ν‹Έλ¦¬ν‹° ν΄λž˜μŠ€μ™€ μ»΄ν¬λ„ŒνŠΈ 클래슀λ₯Ό κ΅¬λΆ„ν•˜κΈ° μœ„ν•œ 싀무적인 νŒμž…λ‹ˆλ‹€.

λ˜ν•œ, μžλ°”μŠ€ν¬λ¦½νŠΈλ‘œ μƒνƒœλ₯Ό λ³€κ²½ν•  λ•ŒλŠ” 클래슀 자체λ₯Ό 바꾸기보닀 .is-active와 같은 μƒνƒœ 클래슀λ₯Ό μΆ”κ°€ν•˜κ±°λ‚˜, aria-expanded="true" 같은 μ ‘κ·Όμ„± 속성을 바닐라 μžλ°”μŠ€ν¬λ¦½νŠΈλ‘œ μ œμ–΄ν•˜λŠ” 것이 μ›Ή ν‘œμ€€μ— λ”μš± λΆ€ν•©ν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€.

μ €μž‘μžν‘œμ‹œ λΉ„μ˜λ¦¬ 동일쑰건 (μƒˆμ°½μ—΄λ¦Ό)

'After. 2025' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[μ›Ή ν‘œμ€€ μ‹œλ¦¬μ¦ˆ #4] "μ›€μ§μ΄λŠ” 웹도 ν‘œμ€€μ΄ μžˆλ‚˜μš”?" : Vanilla JS와 WAI-ARIA μ‹€μ „νŽΈ  (0) 2025.12.29
[μ›Ή ν‘œμ€€ μ‹œλ¦¬μ¦ˆ #3] ꡬ글이 μ‚¬λž‘ν•˜λŠ” μ›Ήμ‚¬μ΄νŠΈμ˜ λΉ„λ°€: μ½”λ“œ 속에 μˆ¨κ²¨μ§„ SEO μ „λž΅  (0) 2025.12.28
[μ›Ή ν‘œμ€€ μ‹œλ¦¬μ¦ˆ #1] 당신도 였늘 'μž₯μ• 'λ₯Ό κ²ͺμ—ˆμŠ΅λ‹ˆλ‹€: 접근성이 보편적 ꢌ리인 이유  (0) 2025.12.26
[μ‹€ν—˜] NotebookLM에 'BEM 방법둠'을 ν•™μŠ΅μ‹œμΌ°λ”λ‹ˆ 생긴 일  (0) 2025.12.25
[2026 νŠΈλ Œλ“œ] AIκ°€ λ‚΄ μ½”λ“œμ˜ 'μ˜λ„'λ₯Ό 읽기 μ‹œμž‘ν–ˆλ‹€: 리포지토리 μΈν…”λ¦¬μ „μŠ€μ˜ μ‹œλŒ€  (0) 2025.12.24
'After. 2025' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [μ›Ή ν‘œμ€€ μ‹œλ¦¬μ¦ˆ #4] "μ›€μ§μ΄λŠ” 웹도 ν‘œμ€€μ΄ μžˆλ‚˜μš”?" : Vanilla JS와 WAI-ARIA μ‹€μ „νŽΈ
  • [μ›Ή ν‘œμ€€ μ‹œλ¦¬μ¦ˆ #3] ꡬ글이 μ‚¬λž‘ν•˜λŠ” μ›Ήμ‚¬μ΄νŠΈμ˜ λΉ„λ°€: μ½”λ“œ 속에 μˆ¨κ²¨μ§„ SEO μ „λž΅
  • [μ›Ή ν‘œμ€€ μ‹œλ¦¬μ¦ˆ #1] 당신도 였늘 'μž₯μ• 'λ₯Ό κ²ͺμ—ˆμŠ΅λ‹ˆλ‹€: 접근성이 보편적 ꢌ리인 이유
  • [μ‹€ν—˜] NotebookLM에 'BEM 방법둠'을 ν•™μŠ΅μ‹œμΌ°λ”λ‹ˆ 생긴 일
빙고ꡬ맛탕
빙고ꡬ맛탕
  • 빙고ꡬ맛탕
    π•Žπ”Όπ”Ή 𝔸𝕃𝕃 𝕃𝕆𝔾
    빙고ꡬ맛탕
    • 전체보기
      • w. Claude
      • w. GPTs
      • w. Grok
      • w. Gemini
      • After. 2025
      • Before. 2021
  • λΈ”λ‘œκ·Έ 메뉴

    • λ°©λͺ…둝
    • κΈ€μ“°κΈ°
    • κ΄€λ¦¬μž
  • 인기 κΈ€

  • νƒœκ·Έ

    크둬 κΏ€νŒ
    크둬 λΆ„ν•  보기
    input fileνƒœκ·Έ λ°”κΎΈκΈ°
    크둬 μˆ¨κ²¨μ§„ κΈ°λŠ₯
    크둬 μ œλ―Έλ‚˜μ΄
    box-shadow
    크둬 읽기 λͺ¨λ“œ
    μ œλ―Έλ‚˜μ΄
    ie9 μ„  버그
    footer κ³ μ •
    css3
    border-collapse 였λ₯˜
    νƒ­ μ „ν™˜ 가속
    footer ν•˜λ‹¨μ— κ³ μ •
    min-height:100%
    크둬 ꡬ글 렌즈
    ie collapse 버그
    크둬
  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.6
빙고ꡬ맛탕
[μ›Ή ν‘œμ€€ μ‹œλ¦¬μ¦ˆ #2] λˆˆμ— 보이지 μ•ŠλŠ” ꡬ쑰의 힘: BEMκ³Ό μ‹œλ§¨ν‹± λ§ˆν¬μ—…μ˜ μ‹œλ„ˆμ§€
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”