김무훈

@iamuhun@hackers.pub · 32 following · 44 followers

업으로서 약 3년 간 웹 프런트엔드 서비스 개발을 경험한 컴퓨터 공학 학부생입니다.

모두를 위한 접근성 지원웹 표준 동향, 오픈소스 참여에 주목하여 엔지니어링에 관심을 갖고 있습니다.

Gravatar
muhun.kim
GitHub
@mu-hun
4
0

3년 전에 @disjukr 님에게 받아 묵혀두었던 misaka.moe 도메인 어디 쓸만한데 없을까 계속 미루만 있다가 임시로 제 레포지토리에 리다이렉션 걸었습니다. 예) https://misaka.moe/.dotfiles

1

제가 추천하는 라프텔 온리 애니메이션 『내가 사랑했던 모든 너에게』, 또 다른 편으로 『너를 사랑했던 한 사람의 나에게』가 있는데요, 보는 순서에 따라 이야기의 관점이 "이루어지는 로맨스"이냐, "이뤄지지 않은 로맨스"로 끝나는 차이가 있습니다.

저는 먼저 언급한 "내가 사랑했던 모든 너에게"를 이제 막 다 시청했는데, 다음 편을 보아도 이 편의 이야기가 여전히 더 여운에 남을 것 같네요.

책 『내가 사랑했던 모든 너에게』
오토노 요모지 저/김현화 역 | shimano 일러스트

"어떤 세계에 있는 너라도,
분명 다시 사랑할 거야"

해피 엔딩과 새드 엔딩
당신은 어느 책부터 읽겠습니까?

35만 부 돌파 베스트셀러
일본 서점 기준

극장판 애니메이션 동시 개봉영화 포스터 『내가 사랑했던 모든 너에게』
어느 세계의 너라도, 분명 다시 사랑할 거야

보는 순서에 따라 결말이 크게 바뀌는 두 개의 러브 스토리
1

무손실 음원을 그대로 들어보고 싶던 와중에 얼마 전에 마침 젠하이저에서 7세대 동글을 새로 출시해서 하루 사용해보았다.

MacBook에 끼워 Apple Music 청취를 해보았는데 내 귀로는 aptX™ Adaptive연결이 기존 AAC 코덱과 품질 차이를 아직 잘 모르겠다...

1

"모든 사람을 위한 웹 접근성 지원과 설계, 제대로 알아봅시다."

아래 명제에 대한 제 생각이 궁금하시면 꼭 이번 FEConf 2025에서 보러 와주세요!

  • 웹 접근성은 장애 사용자만을 위한 특수한 사용자 경험을 지칭하는 기술 분야이다.
  • 따라서 접근성은 보조 기술 지원을 위한 추가 사용자 인터페이스로, 웹 서비스의 구현 양이 그만큼 더 늘어날 것이다.
중요하지만 긴급하지 않은 일, 그럼에도 계획해야 하는 웹 접근성
김무훈 | A11YKR 커뮤니티

모든 사람을 위한 웹 접근성 지원과 설계, 제대로 알아봅시다.

웹 프런트엔드 서비스에서 접근성 지원은 여전히 제도적으로 의무화된 항공사 웹 서비스와 정부/공공기관 외에 모범 사례가 흔치 않고, 확실한 정답이 정해져 있지 않은 분야입니다.
- 혹시 웹 접근성이 장애 사용자만을 위한 특수한 경험이라고 오해하고 계신가요? 웹의 본연의 힘은 보편성에 있습니다. 장애와 관계없이 모든 사람의 콘텐츠 접근은 필수적이라고 생각합니다.
-웹 접근성을 지원하기 위한 UI 컴포넌트 설계에 막연함을 느끼시나요? 웹 접근성 표준을 준수하면서, 일관된 UI 제어 경험을 어떻게 설계할 수 있는지 제가 고려했던 사항을 소개합니다.

따라서 아래 문제에 대한 발표자의 생각이 궁금하시면 꼭 보러 와주세요!
- 웹 접근성은 장애 사용자만을 위한 특수한 사용자 경험을 지칭하는 기술 분야이다.
- 웹 접근성은 보조 기술(AT) 지원을 위한 추가 사용자 인터페이스로, 웹 서비스의 구현 양이 그만큼 더 늘어날 것이다.
2
0
3

어떤 애플리케이션 개발이라도 모두가 참여하는 기획 단계에서 무슨 정보를 다룰지 가장 먼저 논의가 필요로 합니다.

저는 이 단계에서 정보 접근성에 대한 팀의 태도가 반영된다고 생각합니다.

여러분은 접근성과 UI 개발의 관계가 별개가 아니라는설명에 바로 동의하실 수 있나요? 평소 별로 관심이 없었다면 뜬구름 잡는 질문처럼 들릴 것입니다.

아무튼 FE 프로그래머라면 한번 읽어보시는 걸 권해드립니다.

2

연합우주의 여러분을 파이콘 한국 2025에 초대합니다!

안녕하세요. Hackers' Pub이 이번 파이콘 한국 2025에 커뮤니티 후원을 하게 되었는데요. 이를 통해 총 세 분께 이벤트로 파이콘 한국 2025 티켓을 드릴 수 있게 되었습니다.

파이콘 한국 2025에 참가하고 싶었던 분들은, 이벤트에 응모해 주세요! 이벤트 응모 방법은 다음과 같습니다.

응모 자격

연합우주의 누구나

응모 기한

7월 27일(日) 자정까지

응모 방법

다음 주제어들 중 하나로 N행시를 멋지게 지어서, 인용 또는 답글로 달아주세요! (Mastodon의 경우에는 인용이 안 되므로 답글만 가능합니다.)

  • 파이콘/파이컨
  • 파이썬/파이선
  • 해커스퍼브/해커즈퍼브/해커스펍/해커즈펍

예:

  • 이썬이 좋아서
  • 번에는 꼭 파이
  • 에 가고 싶습니다!

응모하신 N행시 중 멋진 작품을 제출하신 세 분을 선정하여 파이콘 한국 2025 티켓을 드리도록 하겠습니다!

많은 참여 부탁드립니다!

3

Javascript/Typescript 생태계에는 소스코드 간 의존관계를 유향그래프(Direct Graph)로 시각화하는 CLI 도구가 있다는 사실... 알고 계신가요? madge, 적극적으로 추천합니다.

그냥 JS/TS 프로젝트 뿐만이 아니라, jsx 파일이 들어간 경우도 의존관계를 아름답게 시각화해줍니다. fedify 소스코드 통독하면서 이걸 적극적으로 써볼까 합니다. 마치.... 탐정이 사건 추적하면서 지도에 X 표시하는 감성으로...

fedify 프로젝트를 그래프로 아름답게 시각화한 모습이다.
10

대학교 4학년, 마지막 방학에 스팀 여름 할인으로 《마법사의 밤》 구매해서 며칠 동안 계속 읽고 있는 중.

오타쿠 같은 감상인데 첫 번째 배틀 연출에서 정말 훌륭한 레이어 전환 같은 애니메이션이 재생되어 나와 감탄스러웠다. 이게 2010년대 초에 처음 개발되었다고요…?

3
2

안녕하세요, 업으로 프로그래밍을 하고 있는 컴퓨터 학부생 김무훈입니다.
현재 3년차 웹 프론트엔드 개발자로서, 다가오는 7월부터 함께할 정규직 포지션을 적극적으로 찾고 있습니다.

최근 학과 사무실에서 졸업 요건을 확인한 결과, 전공 필수 한 과목전공 선택 2학점(총 5학점)이 남아있음을 확인했습니다.
본래는 다음 2학기까지 수료 후 내년 2월에 졸업할 예정이었으나, 교수진과 상의한 결과 취업 및 재직이 확정된다면 수업 이수 방식을 보다 유연하게 결정할 수 있다는 긍정적인 답변을 받아 적극적으로 조기 취업을 추진하게 되었습니다.

이는 전공 필수 과목의 경우에만 해당이 되는 문제이고, 전공 선택 2학점의 경우 앞으로의 여름 학기 현장 실습 또는 다음 학기에 개설되는 하나의 원격 강의로 대체하여 문제가 없는 상태입니다.

지금까지의 업무 경험과 프로젝트는 아래의 포트폴리오에서 확인하실 수 있습니다.
📌 경력기술서 겸 포트폴리오 페이지: https://www.frontend.moe/portfolio/

좋은 인연을 찾을 수 있도록, 많은 관심과 연락 부탁드립니다!

새로 읽으시는 분은 https://www.frontend.moe/resume/ 이쪽 이력서를 확인 부탁드립니다.

본문 내 아웃링크로 걸어둔 경력기술서 겸 포트폴리오 정보량이 너무 많다는 의견을 자주 받아서, 약식화한 RESUME 페이지를 새로 만들었습니다.

3

헛소리 - 평소 자주 지나드는 제주공항이나 김포공항 역에 누가 학부 졸업 축하 광고 내주면 어떨까 생각함.

"제주대 컴공 학부 졸업 및 다시 재외재주도민이 되어 하는 직장생활에 걸 건승 드립니다."

2
0
4

토스페이먼츠 결제 시스템 연동을 돕는 MCP 서버 구현기

토스페이먼츠 문서를 로컬 MCP로 제공하고자 거친 모든 의사 결정 과정이 공유되어 있습니다.

문서 내 키워드 관련성 분석을 미리 거친 Machine-Readable 한 청크 저장소를 구축하는 노력이 가장 흥미로웠네요.

3

오픈소스 프로젝트에 여러분의 gemini cli(등등)의 무료 사용량을 기여하세요

오픈소스 소프트웨어라는 소프트웨어 개발 방법은 그동안 대성공을 거두어 오고 있습니다. 여기에는 여러 요인이 있지만, 중요한 요인 중 하나는 이것입니다. 상업 소프트웨어든 오픈소스 소프트웨어든 공평하게 프로그래머의 시간을 들인 만큼 개발된다는 것이지요. 능력 있는 소프트웨어 개발자가 시간을 기여하면 오픈소스 소프트웨어는 상업 소프트웨어만큼이나 빠르게 성장할 수 있었습니다.

하지만 AI 프로그래밍의 시대가 빠르게 다가오고 있습니다. 앞으로 소프트웨어 개발은 프로그래머의 시간만으로 개발되지 않습니다. 상업소프트웨어는 AI 프로그래밍을 적극적으로 사용하여 이전과 다른 생산성으로 개발되기 시작할 것입니다. 상업 소프트웨어와 달리 오픈소스 소프트웨어는 언제나 그럴 수는 없습니다. 프로젝트의 성장과 유지를 위해 훌륭한 프로그래머들의 시간을 들이는 것을 넘어서, 훌륭한 프로그래머들이 시간에 더해 비용까지 들여야 한다면요.

상업 소프트웨어와 오픈소스 소프트웨어 사이의 불균등한 생산성의 시대가 코앞까지 다가오고 있습니다.

새로운 기여자 확보의 문제

문제는 여기서 그치지 않습니다. 오픈소스 프로젝트는 새 기여자를 얻기 더 힘들어져가고 있습니다. 왜냐하면 이제 'good first issue'라는 것은 의미가 없기 때문입니다. 그 정도로 쉬운 일은 새로운 기여자 대신 로봇이 해결할 가능성이 높고, 그 로봇은 새로운 기여자의 로봇일 수도 있습니다. 결국 AI 프로그래밍으로 기여하는 새 기여자는 이 프로젝트에 대해 거의 배우지 못하게 됩니다.

전통적인 오픈소스 생태계에서 'good first issue'는 단순히 쉬운 문제를 해결하는 것이 아니었습니다. 새로운 기여자가 프로젝트의 코드베이스를 이해하고, 개발 프로세스를 익히며, 커뮤니티와 소통하는 법을 배우는 학습 과정이었습니다. 하지만 AI가 이런 단순한 작업들을 대신 처리하게 되면, 새로운 기여자들은 진입 기회를 잃게 됩니다.

AI 프로그래밍의 현재 위치

AI 프로그래밍은 완벽하지 않습니다. 숙련된 전문가가 숙련된 도메인에서 작업하는 것만큼 잘하지는 못합니다. 하지만 비숙련된 프로그래머가 처음 보는 프로젝트에서 작업하는 것보다는 잘할 때가 많습니다.

그러나 많은 오픈소스 소프트웨어는 바로 이런 비숙련 기여가 성장의 한 축을 차지합니다. 처음 프로젝트에 참여하는 개발자들의 작은 기여들이 모여 거대한 프로젝트가 됩니다. 그리고 이런 비숙련 기여의 일부는 손쉽게 AI가 대체할 수 있는 기여입니다.

다행히도 지금은 AI 프로그래밍의 초창기입니다. Gemini CLI가 무료 사용량을 제공하듯이, 앞으로 여러 회사들이 비슷한 기회를 제공할 것입니다. Claude, ChatGPT, Copilot 등 다양한 AI 도구들이 개인 사용자에게 무료 크레딧을 제공하고 있습니다.

이것은 오픈소스 프로젝트에 기여할 새로운 기회로 삼을 수 있을까요?

주의: 이 글은 아무 프로젝트에나 방문해서 AI로 적당한 코드를 생성한 다음 패치를 보내라는 뜻이 아닙니다.

AI 프로그래밍은 (아직은) 마법이 아닙니다. "이 프로젝트를 겁나 멋지게 만들 기능을 추가해주세요"라고 한다고 해서 그런 패치가 나오는 식으로는 동작하지 않습니다.

이상적인 경우: AI 친화적 프로젝트

가장 좋은 방법은 프로젝트가 AI 친화적으로 준비되는 것입니다. 바로 작업할 수 있을 만큼 잘 정의된 이슈들이 있는 프로젝트라면, "nnn 번 이슈에 대해 작업해 주세요"라는 요청만으로도 누구나 기여할 수 있을 것입니다.

하지만 (적어도 아직은) 그런 프로젝트가 많지는 않을 것입니다.

현실적인 접근: AI가 잘하는 일들에 집중

대신 AI는 인간과 비대칭적으로 잘하는 기능이 있습니다.

이를테면 이슈에 minimal reproducible case가 보고되어 있지만 아직 구체적으로 발생하는 원인이 밝혀져 있지 않은 경우를 생각해봅시다. 버그를 고치는 사람이 해야하는 지루한 작업 가운데 하나는, 이 문제를 어떻게 수정할지를 생각하기에 앞서 이 문제가 어디서 발생하는지 찾는 것입니다. 디버거를 써야 할 수도 있고, 코드에 많은 trace log를 남겨야 할 수도 있습니다.

하지만 AI 코딩 에이전트는 테스트가 재현 가능하기만 하다면, 문제를 발생시키는 정확한 줄을 찾아내는 데 탁월합니다. 지치지 않고 정석적인 지루한 방법으로 꾸준히 로그를 추가하고 테스트를 다시 실행하면서 문제를 찾아내거든요.

어쩌면 문제의 원인이 아주 단순해서, 문제를 바로 수정할 수 있을지도 모릅니다! 그렇다면 패치를 제출해도 좋겠지요. 하지만 바로 수정하기까지는 어렵더라도 괜찮습니다. 버그 리포트와 실제 코드의 문제를 매핑하는 것은 그 자체로 지루하고 시간이 걸리는 일입니다. 이것을 대신하는 것으로도 큰 작업을 대신하는 것입니다.

주의: 모든 프로젝트가 AI 기여를 환영할 리는 없습니다. 충분히 유용하게 다듬어지지 못한 유형의 AI 기여는 스팸처럼 느껴질 가능성이 있음을 유의해야 합니다.

미래

사실 누구나 자기 라이브러리를 뚝딱 만들어낼 수 있게 되었다는 점에서 오픈소스 프로젝트에 참여하는 사람들의 동기와 기여 방식 자체가 크게 뒤바뀔 가능성이 높습니다.

AI 프로그래밍을 누구나 거의 무료로 사용할 수 있는 시대가 올까요? 아마 어느 정도의 사용량까지는 그럴 것입니다. 그것이 얼마나 많은 양일지에 따라서 오픈소스 프로젝트의 미래는 크게 바뀌겠지요.

만일 정말로 AI 프로그래밍을 누구나 무제한적으로 사용할 수 있다면, 대규모가 아닌 대부분의 오픈소스 프로젝트에는 더이상 협력이 필요하지 않을 것입니다. 진정으로 '어떻게'보다 '무엇을'이 더 중요한 시대가 온다면, 프로젝트의 목표를 확고하게 가진 사람이 극한의 완성도까지 프로젝트를 밀어붙이는 편이 훨씬 좋은 결과를 만들겠지요.

그런 시대가 올지 오지 않을지 모르겠습니다. 하지만 그 전까지는, AI 프로그래밍이 누구에게나 주어지는 기회이지만 프로젝트를 단숨에 완성할만큼 주어지지는 않는 시대가 유지되는 동안에는, 다음 세대의 오픈소스 기여의 방법은 AI 프로그래밍 사용량을 기여하는 것이 하나의 큰 축이 될 것입니다.

15
0
0
3
0
0

@hongminhee洪 民憙 (Hong Minhee) 제 블로그에서 인용한 W3C CSS3 명세 내용에 따르면 범용성이 높은 클래스를 남용하기보다, 마크업의 구조를 따라 작성하라고 권장하고 있습니다. 꽤나 오래된 권장 사항으로 블로그 글의 레퍼런스를 조사하면서 저 명세를 CSS2 명세(2004년)로부터 알게 되었습니다.

data 어트리뷰트를 WAI-ARIA로 치환해서 같은 결과를 내놓을 수 있는데요, 이 방법의 장점은 좀 더 마크업 및 CSS Rules 작성에 대해 웹 표준을 근거로 명확한 디자인시스템을 만들 수 있다고 생각합니다.

 - my-card:state(loading) { 
+ my-card[aria-busy="true"] {
  background: url(./spinner.svg)
} 

- my-card:state(loaded) {
+ my-card[aria-busy="false"] {
  border: 2px solid green;
}
1
0
2
3

https://tech.kakaoent.com/front-end/2023/230330-frontend-solid 소프트웨어 엔지니어링 분야에서 유명한 SOLID 원칙이 프런트엔드 UI 설계 관점에서 어떻게 관련이 있는지, 카카오엔터에서 모범사례를 잘 소개가 되어서 공유합니다. 읽고 나서 해당 원칙이 서비스 아키텍쳐 설계 관점으로 한정되지 않음을 알게 되었습니다.

2

ㅁㄴㄹㅁ어라ㅣㅁㅇㅓㅏㅣㄴ어ㅣㅁ너ㅣㅁ어ㅣㅁㄴㅓㅏㅣㅇㅓㅏㅣㅇㅓㅏㅣㅁ너ㅁㅇㅣㅓ먀드랮두퍄ㅐ두랴주ㅏㅓㅗ쟈ㅕㅜㄹㅊ재ㅑㅕ륯야라퐁룾야ㅐ처ㅗㄹㅇ더ㅣㅏㅗㄹ푸ㅑㅕㅐㅗㅓ룿퍄ㅕㄴ아ㅜㅡㄷㅑㅕㅔㅇㅏㅓ리ㅜ퍄ㅕㅔㅏㅇ

0

@iamuhun김무훈 안녕하세요. 저희 팀은 사내의 개발자들이 사용하는 자체 모니터링/옵저버빌리티 플랫폼(예: Datadog)을 개발하고 있는데요, 현재 웹 프론트엔드 엔지니어를 구인중입니다. 관심있으시면 채용공고를 한번 봐 주세요: https://careers.linecorp.com/ko/jobs/2657 궁금한점이 있으시면 멘션 주시면 됩니다.

@khrisHong Segi (aka khris) 답글 감사합니다! LangDev에 올리신 채팅으로 해당 공고를 미리 알게 되었습니다.

본문에 적었듯이, 제가 올해 하반기에 전공 필수 이수가 하나가 남아 있어서, 재직 증명을 바탕으로 교수진과 유연한 수업 이수 방식에 대한 추후 협의가 필요한 상황인데요.

제가 지원하는 직무와 연관이 있는 조직 내 동료 등 여러 이해관계자에게 이런 상황의 지원자가 지원해도 괜찮은지 사전에 확인을 받고 싶습니다.

0

안녕하세요, 업으로 프로그래밍을 하고 있는 컴퓨터 학부생 김무훈입니다.
현재 3년차 웹 프론트엔드 개발자로서, 다가오는 7월부터 함께할 정규직 포지션을 적극적으로 찾고 있습니다.

최근 학과 사무실에서 졸업 요건을 확인한 결과, 전공 필수 한 과목전공 선택 2학점(총 5학점)이 남아있음을 확인했습니다.
본래는 다음 2학기까지 수료 후 내년 2월에 졸업할 예정이었으나, 교수진과 상의한 결과 취업 및 재직이 확정된다면 수업 이수 방식을 보다 유연하게 결정할 수 있다는 긍정적인 답변을 받아 적극적으로 조기 취업을 추진하게 되었습니다.

이는 전공 필수 과목의 경우에만 해당이 되는 문제이고, 전공 선택 2학점의 경우 앞으로의 여름 학기 현장 실습 또는 다음 학기에 개설되는 하나의 원격 강의로 대체하여 문제가 없는 상태입니다.

지금까지의 업무 경험과 프로젝트는 아래의 포트폴리오에서 확인하실 수 있습니다.
📌 경력기술서 겸 포트폴리오 페이지: https://www.frontend.moe/portfolio/

좋은 인연을 찾을 수 있도록, 많은 관심과 연락 부탁드립니다!

8

학과 책장에 11년 전에 출간한 웹 접근성 책을 찾았습니다.

책 목차를 살펴보니 WCAG 표준에서 제정한 아래 4가지 원칙을 개별마다 많은 사례를 바탕으로 다루고 있네요.

  • 인지할 수 있는(Perceivable)
  • 조작 가능한(Operable)
  • 이해할 수 있는(Understandable)
  • 견고함(Robust)

자료가 오래되었지만 흥미 있는 사례집이라 읽어 보려고 합니다.

책장 중간에 
"장애인차별금지법 대응을 위한 웹 접근성과 품질인증
류영일 • 하성필 • 김혜일 • 성영한 지음

에이콘"라고 적힌 책이 놓여 있다.| 지은이

류영일
2007년부터 2012년까지 한국정보화진흥원에서 웹 표준과 웹 접근성 관련 업무 를 맡아왔으며, 웹 접근성 품질인증마크 담당과 법 제도 T/F를 운영하여 지금의 국가정보화기본법 개정 내용을 만들었다. 부족한 인증심사 기준을 제시하기 위 해 좀 더 구체적인 웹 접근성 품질인증심사가이드를 제작하는 등 다양한 웹 접근 성 업무를 추진해왔다. 현재 웹 접근성 컨설턴트로 일하고 있으며, 다수의 강의 및 컨설팅, 자문을 수행 중이다. 특히 접근성이 웹에 머물지 않고 모바일 분야와 소프트웨어, 제품, 서비스까지 확장되어야 한다는 생각으로 접근성 연구회를 설 립하여 기반 기술을 사회에 제시하고 웹 접근성을 알 수 있는 기회를 제공하는 등 사회 곳곳에 접근성을 향상시키는 연결 구조를 만들기 위해 노력하고 있다.

하성필
1999년 웹 제작을 시작한 이후 웹 디자이너, 기획자 등을 거처 현재 웹 퍼블리셔 및 웹 접근성 컨설턴트로 일하고 있다. 다양한 웹 기술 분야의 경험을 바탕으로 다수의 웹 접근성과 웹 퍼블리싱 강의를 하며, 웹 접근성의 모호한 영역까지 모두 실무적으로 구현할 수 있는 실력의 소유자다.

김혜일
국내에서 점유율이 가장 높은 화면 낭독기 개발 기업의 기술자문 경험을 바탕으로 한 사용자 평가와 저시력 사용자에 대한 웹 접근성 전문가다. 실제 시각장애인이 면서 다수의 웹 접근성 관련 사용자 평가 경험을 바탕으로 현재는 전문가 평가로 영역을 확대했으며 다양한 웹사이트, 모바일 앱 등 접근성 평가와 자문을 진행하 고 있다. 스스로 시각장애로 인해 느끼는 불편을 누구보다 잘 알기에 실제 사용성 을 높일 수 있도록 지침 이외의 영역에 대한 접근성 개선을 소명으로 생각하는 접 근성 지킴이다.
성영한
자바와 관련해서 10년 이상 개발을 하다가 우연한 기회로 접근성을 접한 후, 퍼 블리셔 위주의 접근성을 개발자들도 모두 기본적으로 숙지해야 한다는 생각을 하 게 됐다. 사회 비용이 증가하더라도 웹을 사용하는 모든 사용자에게 평등한 기회 를 부여해야 한다는 철학하에 현재는 웹 접근성을 자동화할 수 있는 자바스크립 트를 연구하고 있고, 웹뿐만 아니라 모바일까지 연구 범위를 확대하고 있다.2부 웹 접근성 기본 4원칙
3장 인식의 용이성: 모든 콘텐츠는 사용자가 인식할 수 있어야 한다
3.1
[검사항목 1] 적절한 대체 텍스트 제공 ... 111
3.1.1 [오류유형 1-1] 텍스트 이미지의 대체 텍스트 미 제공 ..• 113
3.1.2 [오류유형 1-1] 불충분한 대체 텍스트를 제공한 경우 ... 115
3.1.3 [오류유형 1-1] 대체 텍스트가 오타로 표기된 경우 ... 117
3.1.4 [오류유형 1-1] 이미지 버튼에 대체 텍스트를 제공하지 않은 경우 ... 118
3.1.5
[오류유형 1-1] 게시물의 이미지에 대체 텍스트가 제공되지 않은 경우 ... 119
3.1.6
[오류유형 1-2] 불릿 이미지에 대한 대체 텍스트를 제공하지 않은 경우 ... 121
3.1.7
[오류유형 1-2] 의미 없는 이미지에 대체 텍스트를 제공한 경우 ... 123
3.1.8 [오류유형 1-2] 분리된 이미지 조각의 대체 텍스트 제공 ... 124
3.1.9 [오류유형 1-3] 〈Iongdesc〉의 파일이 없거나 연결되지 않은 경우... 125
3.1.10 [오류유형 1-3] 〈longdesc〉 내용이 의미나 기능을 파악하기 어려운 경우 ... 126
3.1.11 [오류유형 1-4] 이미지맵의 〈img〉 요소에 alt 속성을 제공하지 않은 경우 ... 129
3.1.12 [오류유형 1-5] 조직도 이미지맵의 〈area〉로만 대체 텍스트를 제공한 경우 ... 131
3.1.13 [오류유형 1-6] 대체 텍스트를 tite만으로 제공하는 경우 ... 133
3.1.14 [오류유형 1-7 QR 코드의 이동 주소 정보를 대체 텍스트 등으로 제공하지 않은 경우
... 133
3.1.15 [오류유형 1-8] 의미 있는 배경 이미지의 대체 콘텐츠를 제공하지 않은 경우 ... 135
3.1.16 [오류유형 1-8] 의미 있는 색상 배경 이미지에 대체 콘텐츠를 제공하지 않은 경우 ... 137
3.1.17 [오류유형 1-9] 플래시 콘텐츠에 대체 텍스트를 제공하지 않은 경우 ... 138
3.1.18 [오류유형 1-9] 웹 애플리케이션의 대체 콘텐츠가 접근성이 없는 경우 ... 1414장 운용의 용이성: 사용자 인터페이스 구성요소는 조작 가능하고 내비게이션할 수 있어야 한다
4.1
[검사항목 기 키보드 사용 보장 ... 191
4.1.1 [오류유형 1-1] 이미지에 onclick 이벤트를 적용하여 키보드로 제어할 수 없는 경우 ... 198
4.1.2 [오류유형 7-1] 키보드 이벤트를 적용하지 않아 키보드 접근이 안 되는 경우 ... 195
4.1.3 [오류유형 7-11 readonly 속성을 사용하여 대체 수단이 비활성화되는 경우 ... 197
4.1.4 [오류유형 1-1 마우스용 자바스크립트 사용으로 키보드 이용이 불가능한 경우 ... 198
4.1.5 [오류유형 7-2] 플래시 wmode 값 설정으로 키보드 이용이 불가능한 경우 ... 200
4.1.6 [주의사항 7-1] 웹 접근성 품질인증심사에서는 IE8 브라우저에서 키보드 테스트함 ... 203
4.1.7 [주의사항 7-21 onclick 이벤트 핸들러에 키보드로 제어가 불가한 경우 감점 ... 203
4.1.8 [주의사항 7-3] 예외 콘텐츠라도 주변 인터페이스는 키보드로 사용할 수 있어야 함 ... 203
4.1.9 [주의사항 7-4] 키보드로 탭메뉴에서 탭 내용을 확인할 수 없는 경우 감점 ... 204
4.1.10 [주의사항 7-5 oniocus="this.blur0;" 사용 시, 검사항목 7, 8, 16에서 감점 ... 204
4.1.11 [주의사항 7-61 wmode를 transparent, opaque로 지정 시 화면 낭독기 인식 불가능
... 205
4.2
[검사항목 8] 초점 이동 ... 206
4.2.1 [오류유형 8-1] 초점의 이동 순서가 논리적이지 않으며 일관성이 없는 경우 ... 207
4.2.2 [오류유형 8-21 초점의 위치가 시각적으로 표시되지 않은 경우 .•. 209
4.2.3 [오류유형 8-3] 〈area〉 요소의 순서가 키보드 순서와 다른 경우 ... 213
4.2.4 [주의사항 8-11 onfocus="this.blur0;" 사용 시, 검사항목 7, 8, 16에서 감점 ... 214
4.3
[검사항목 9] 응답시간 조절 ... 215
4.3.1 [오류유형 9-1] 페이지 재이동 시 회피할 수 있는 수단을 제공하지 않은 경우 ... 2165장 이해의 용이성: 콘텐츠는 이해할 수 있어야 한다
5.1
[검사항목 15] 기본 언어 표시 ... 257
5.1.1
[오류유형 15-11 〈html〉에 lang 속성을 명시하지 않은 경우 ... 258
5.1.2
[오류유형 15-1] 〈html〉에 lang 속성을 잘못 명시한 경우 ... 259
5.1.3 [주의사항 15-1] lang 속성값에 국가별 지정언어 코드를 사용해야 함 ..• 260
5.1.4 [주의사항 15-21 페이지 중간에 언어가 바뀔 때 lang 속성으로 명시해주는 것을 권장 ... 262
5.2
[검사항목 16] 사용자 요구에 따른 실행 ... 263
5.2.1
[오류유형 16-1] 사용자가 예측하지 않은 새 창이 열리는 경우 ... 264
5.2.2
: [오류유형 16-1] 사전에 알리지 않은 새 창이 발생되는 경우 ... 267
5.2.3 [오류유형 16-2] 웹사이트 초기화면에 팝업창을 제공하는 경우 ... 268
5.2.4 [오류유형 16-3] 사용자가 의도하지 않은 초점 변화가 발생하는 경우 ... 271
5.2.5 [오류유형 16-4] 입력 서식의 값 변경만으로 제출되어 문맥이 바뀌는 경우 ... 273
5.2.6 [오류유형 16-4] 체크상자의 선택만으로 값이 제출되어 문맥이 바뀌는 경우 ... 274
5.2.7 [주의사항 16-1] onkeypress에 의해 포커스를 옮기는 동작만으로 새 창이 발생하면 감점
... 275
5.2.8 [주의사항 16-21 〈a targel="_blank">로만 새 창을 알린 경우는 감점하지 않음 ... 276
5.2.9
[주의사항 16-3] onfocus="this.blur)" 사용 시, 검사항목 7, 8, 16에서 감점 ... 2766장 견고성: 웹 콘텐츠는 미래의 기술로도 접근할 수 있도록 최대한 호환되어야 한다
6.1
[검사항목 21] 마크업 오류 방지 ... 317
6.1.1 [오류유형 21-1] 태그의 열고 닫음 오류 ... 318
6.1.2 [오류유형 21-2] 태그의 중첩 오류 ... 319
6.1.3 [오류유형 21-3] 중복 선언된 속성 오류 ... 320
6.1.4 [주의사항 21-1] ID 값 중복 선언은 오류유형 21-3에서 심사 ... 320
6.1.5 [주의사항 21-2] 위에 언급된 항목 이외의 표준문법 오류는 포함하지 않음 ... 321
6.1.6 마크업 오류 세부 사례 ... 321
6.1.6.1 [열고 닫음 오류 사례 1 (a) 요소 여는 태그 미 제공 ... 321
6.1.6.2 [열고 닫음 오류 사례 2 〈ul〉 요소 여는 태그 미 제공 ... 322
6.1.6.3 [열고 닫음 오류 사례 31 div》요소 여는 태그 미 제공 ... 323
6.1.6.4 [열고 닫음 오류 사례 41 〈a〉 요소 닫는 태그 미 제공 ... 323
6.1.6.5 [열고 닫음 오류 사례 5] 《strong〉 요소 닫는 태그 미 제공 ... 324
6.1.6.6 [열고 닫음 오류 사례 61 〈h 요소 닫는 태그 미 제공 ... 325
6.1.6.7 [태그의 중첩 오류 사례] 《p》와 《strong》의 중첩 제공 ... 326
6.1.6.8 [속성 중복 오류 사례 11 〈p〉 요소에 대한 style》 속성 중복 제공 ... 326
6.1.6.9 [속성 중복 오류 사례 2] ID 속성 중복 제공 ... 327
6.2
[검사항목 22] 웹 애플리케이션 접근성 준수 ... 330
6.2.1 [오류유형 22-1] 접근성이 없는 웹 애플리케이션의 대체 콘텐츠가 없는 경우 ... 331
6.2.2 [오류유형 22-1] 대체 콘텐츠가 핵심 기능을 동등하게 제공하지 못한 경우 ... 332
1

와 오늘 졸업상담한 결과로 적어도 강의 두개만 더 들으면 된다고 안내받았습니다. 여름방학 현장실습 따내면 다음 학기에 전필 하나만 이수하면 졸업 될 듯...

5

<section> 버리고 <article> 써야 하는 이유

〈section〉 태그 안의 글에 헤딩(제목)을 포함하면 화면상에서는 그 헤딩들이 논리적인 순차 구조를 가지고 있는 것처럼 보인다. 하지만 이는 순전히 시각적인 것일 뿐 보조 기술과 연동된 구조 정보가 아니다. 〈section〉 태그의 용도는 무엇이고, 헤딩을 어떻게 코딩해야 보조 기술 사용자에게 정말 중요한 구조 정보를 전달할 수 있을까?

1

<section> 버리고 <article> 써야 하는 이유

〈section〉 태그 안의 글에 헤딩(제목)을 포함하면 화면상에서는 그 헤딩들이 논리적인 순차 구조를 가지고 있는 것처럼 보인다. 하지만 이는 순전히 시각적인 것일 뿐 보조 기술과 연동된 구조 정보가 아니다. 〈section〉 태그의 용도는 무엇이고, 헤딩을 어떻게 코딩해야 보조 기술 사용자에게 정말 중요한 구조 정보를 전달할 수 있을까?

3
2
8

한번 저 개발자나 해볼까요? - 일단 "하지 마세요."

"머리가 깨어나는 듯 충격을 받았던 순간은 실력이 좋은 다른 개발자들이 일하는 모습을 보고 영감을 받았던 때다. 하지만 내가 행동하던 방식을 일부 버리고 극복해야 하는 과정이기 때문에 쉽지 않다."

위 글에서 이야기하는 "신입 티"를 벗어나 더 나은 해결책과 서비스 구조를 생각해내기 위해 부단히 고민하며 자아성찰을 하고, 적정한 의사결정을 위해 집중하는 소프트웨어 공학도가 과연 얼마나 될까나 궁금하다.

일단 제 경우에는 불완전하다고 스스로 평가해서 항상 부단히 나아지고자 노력하고 있습니다.

0

한번 저 개발자나 해볼까요? - 일단 "하지 마세요."

"머리가 깨어나는 듯 충격을 받았던 순간은 실력이 좋은 다른 개발자들이 일하는 모습을 보고 영감을 받았던 때다. 하지만 내가 행동하던 방식을 일부 버리고 극복해야 하는 과정이기 때문에 쉽지 않다."

위 글에서 이야기하는 "신입 티"를 벗어나 더 나은 해결책과 서비스 구조를 생각해내기 위해 부단히 고민하며 자아성찰을 하고, 적정한 의사결정을 위해 집중하는 소프트웨어 공학도가 과연 얼마나 될까나 궁금하다.

일단 제 경우에는 불완전하다고 스스로 평가해서 항상 부단히 나아지고자 노력하고 있습니다.

1
1

해킹 관련 뉴스에서 "지금까지 악용된 사례는 확인되지 않았다"는 악용된 적이 없다는 뜻이 아니라 말장난입니다 여러분
이해가 가기 쉽게 설명하자면 저는 페이커에게 리그오브레전드를 져 본 적이 없습니다

1
0
0
1

JS에서는 라이브러리의 함수를 쓸때 this binding이 되어있는지 아닌지를 몰라서 a = b.c라고 마음대로 못 쓰고 a = (x) => b.c(x)가 되는지 먼저 꼭 확인해야한다. 안습;;

0

3년차 웹 프런트엔드 개발자입니다. 잠시 10주 여름 방학 동안 계약직으로 일할 수 있는 직장을 찾고 있습니다. (6월 마지막 주부터 8월 마지막 주) http://frontend.moe/portfolio/

올해 2학기까지 수료하면 졸업 예정이라, 학부 졸업 이후 정규직 전환 조건으로도 희망하고 있습니다.

4

프로필 이미지 및 팔로우 버튼이 쪼그라드는 문제가 매번 신경쓰였는데, 이전 문제와 연쇄적인 종속적인 문제로 파악을 해서 우선 포크 레포지토리에 임시로 올려두었다.

프로필 페이지
이전 	이후
Screenshot 2025-04-22 at 9 26 13 PM 	Screenshot 2025-04-22 at 9 33 21 PM
타임라인 페이지
이전 	이후
Screenshot 2025-04-22 at 9 34 11 PM 	Screenshot 2025-04-22 at 9 34 30 PM
0
9