I wish #Zed had profiles like Visual Studio Code. The interference between extensions is annoying. For example, Biome and Deno both try to do formatting.
洪 民憙 (Hong Minhee)
@hongminhee@hackers.pub · 1021 following · 728 followers
Hi, I'm who's behind Fedify, Hollo, BotKit, and this website, Hackers' Pub! My main account is at
@hongminhee洪 民憙 (Hong Minhee)
.
Fedify, Hollo, BotKit, 그리고 보고 계신 이 사이트 Hackers' Pub을 만들고 있습니다. 제 메인 계정은:
@hongminhee洪 民憙 (Hong Minhee)
.
Fedify、Hollo、BotKit、そしてこのサイト、Hackers' Pubを作っています。私のメインアカウントは「
@hongminhee洪 民憙 (Hong Minhee)
」に。
Website
- hongminhee.org
GitHub
- @dahlia
Hollo
- @hongminhee@hollo.social
DEV
- @hongminhee
velog
- @hongminhee
Qiita
- @hongminhee
Zenn
- @hongminhee
Matrix
- @hongminhee:matrix.org
X
- @hongminhee
If you’re a developer writing a GTK app and you want it to be accessible, you might want to check out the following links:
https://developer.gnome.org/documentation/guidelines/accessibility/coding-guidelines.html
Looking for #ActivityPub implementations with #RFC9421 support! 🔍
As mentioned in the Fedify announcement below, I've implemented RFC 9421 (HTTP Message Signatures) and need to verify its interoperability with other ActivityPub implementations.
The challenge is that most major ActivityPub projects don't seem to have full RFC 9421 implementations in production yet. If you're working on an ActivityPub project that:
- has implemented RFC 9421 (even in a development branch)
- is currently implementing it
- has plans to implement it soon
Please reach out! I'd love to collaborate on interoperability testing to ensure our implementations work properly with each other before merging this into #Fedify's main branch.
Any leads or connections would be greatly appreciated! 🙏
Okay, I've just deployed a bleeding edge #Fedify, which implements both RFC 9421 and double-knocking, to Hackers' Pub. If you'd like to test your implementations against a real server, please give it a try! (If you want to create an account, let me know—I can invite you.)
I got 19/20 on the ActivityPub Quiz!
Just for fun... try this #ActivityPub quiz to test your knowledge of the protocol.
요 며칠 동안은 Fedify 작업을 했고, 오늘은 오랜만에 Hollo 작업을 할 예정…이긴 한데, 주로 코딩보다는 PR 리뷰하는 게 주가 될 듯? 잘 하면 오늘 새 릴리스를 할 수도 있다.
How does libpq from postgresql load SSL root certificates and how can you mirror that behavior in node.js?
Well, here's waaaaay too much information: https://github.com/mastodon/mastodon/pull/34528#discussion_r2083227645
Yes, I had to checkout the postgresql source code and reference the openssl API docs and Node.js source code to work this out.
5월 24일(土) 한국 연합우주 개발자 모임(FediDev KR)에서 두 번째 스프린트 모임을 개최합니다! 장소는 뚝섬역 5번 출구쪽에 위치한 튜링의 사과(
@TuringAppleDev튜링의 사과)입니다.
참고로 스프린트 모임이란 함께 모여서 오픈 소스 코딩을 하는 자리인데, 한국 연합우주 개발자 모임의 스프린트에서는 새로운 연합우주 서비스나 앱을 개발하거나, 번역이나 문서에 기여하는 등 연합우주와 관련된 다양한 오픈 소스 활동을 모여서 함께 합니다. 지난 스프린트 모임의 기록을 스프린트 블로그(
@sprints.fedidev.kr한국 페디버스 개발자 모임)에서 살펴보실 수 있습니다.
저는 그날 Fedify, Hollo, Hackers' Pub에 기여하시고자 하는 분들을 옆에서 도와드릴 예정입니다. Fedify, Hollo, Hackers' Pub에 기여해보고 싶었던 분들이 계시다면 모임에 참가하여 저와 함께 스프린트를 해보는 것도 좋을 것 같습니다.
이번 모임에 관심이 있으신 분은 행사 신청 페이지를 참고하시기 바랍니다.
신청서 양식 마지막에 빈 입력란이 있는데 실수로 추가된 것입니다. 이벤터스에서 한 번 신청 양식을 정하면 수정할 수가 없다고 하네요. 그냥 아무 글자나 넣고 신청하시면 됩니다.
@hongminhee洪 民憙 (Hong Minhee) 앗. 그렇군요. 저는 api route 안만들어도 되는 부분이 맘에 들어서 (코드가 단순해지고 생산성에 도움이 되어서) 관리자 사이트에 적용해보고 있습니다. 😅
@arkjunJuntai Park 확실히 그런 부분은 생산성을 높여주는 기능인 것 같네요.
5월 24일.... FediDev KR 스프린트 두번째 모임이 있을 예정입니다...
5월 24일(土) 한국 연합우주 개발자 모임(FediDev KR)에서 두 번째 스프린트 모임을 개최합니다! 장소는 뚝섬역 5번 출구쪽에 위치한 튜링의 사과(
@TuringAppleDev튜링의 사과)입니다.
참고로 스프린트 모임이란 함께 모여서 오픈 소스 코딩을 하는 자리인데, 한국 연합우주 개발자 모임의 스프린트에서는 새로운 연합우주 서비스나 앱을 개발하거나, 번역이나 문서에 기여하는 등 연합우주와 관련된 다양한 오픈 소스 활동을 모여서 함께 합니다. 지난 스프린트 모임의 기록을 스프린트 블로그(
@sprints.fedidev.kr한국 페디버스 개발자 모임)에서 살펴보실 수 있습니다.
저는 그날 Fedify, Hollo, Hackers' Pub에 기여하시고자 하는 분들을 옆에서 도와드릴 예정입니다. Fedify, Hollo, Hackers' Pub에 기여해보고 싶었던 분들이 계시다면 모임에 참가하여 저와 함께 스프린트를 해보는 것도 좋을 것 같습니다.
이번 모임에 관심이 있으신 분은 행사 신청 페이지를 참고하시기 바랍니다.
오픈소스 장점: 고쳐쓸 수 있다 🔨
오픈소스 장점: 고쳐쓸 수 있다 🔨
그나저나, useEffect 에서 Server Actions 호출 할 수 있는 거 나만 몰랐지 또.
컴포넌트가 마운트되거나 종속성이 변경될 때 서버 액션을 호출하기 위해 React useEffect 훅을 사용할 수 있습니다. 이는 글로벌 이벤트에 의존하거나 자동으로 트리거되어야 하는 변이에 유용합니다. 예를 들어 앱 바로 가기를 위한 onKeyDown, 무한 스크롤을 위한 교차점 관찰자 후크, 컴포넌트가 마운트되어 뷰 수를 업데이트할 때 등이 있습니다:
라고 합니다.
@arkjunJuntai Park 저는 서버 액션이 어떻게 돌아가는지 잘 모르겠고 너무 매직이라고 느껴져서 좀 별로더라고요. 있어도 안 쓰게 될 것 같은 기능이랄까요?
그나저나, useEffect 에서 Server Actions 호출 할 수 있는 거 나만 몰랐지 또.
컴포넌트가 마운트되거나 종속성이 변경될 때 서버 액션을 호출하기 위해 React useEffect 훅을 사용할 수 있습니다. 이는 글로벌 이벤트에 의존하거나 자동으로 트리거되어야 하는 변이에 유용합니다. 예를 들어 앱 바로 가기를 위한 onKeyDown, 무한 스크롤을 위한 교차점 관찰자 후크, 컴포넌트가 마운트되어 뷰 수를 업데이트할 때 등이 있습니다:
라고 합니다.
안녕하세요, 업으로 프로그래밍을 하고 있는 컴퓨터 학부생 김무훈입니다.
현재 3년차 웹 프론트엔드 개발자로서, 다가오는 7월부터 함께할 정규직 포지션을 적극적으로 찾고 있습니다.
최근 학과 사무실에서 졸업 요건을 확인한 결과, 전공 필수 한 과목과 전공 선택 2학점(총 5학점)이 남아있음을 확인했습니다.
본래는 다음 2학기까지 수료 후 내년 2월에 졸업할 예정이었으나, 교수진과 상의한 결과 취업 및 재직이 확정된다면 수업 이수 방식을 보다 유연하게 결정할 수 있다는 긍정적인 답변을 받아 적극적으로 조기 취업을 추진하게 되었습니다.
이는 전공 필수 과목의 경우에만 해당이 되는 문제이고, 전공 선택 2학점의 경우 앞으로의 여름 학기 현장 실습 또는 다음 학기에 개설되는 하나의 원격 강의로 대체하여 문제가 없는 상태입니다.
지금까지의 업무 경험과 프로젝트는 아래의 포트폴리오에서 확인하실 수 있습니다.
📌 경력기술서 겸 포트폴리오 페이지: https://www.frontend.moe/portfolio/
좋은 인연을 찾을 수 있도록, 많은 관심과 연락 부탁드립니다!
디버깅이 안 되니까 이제 혼잣말까지 하고 있음…
됐다! 나중에 지우려고 냅둔 코드 까먹고 안 지워서 생긴 버그였다… 돌려줘 내 하루!
바뀌지도 않은 코드가 잘 되다가 갑자기 안 되니 미치고 팔짝 뛰겠다…
디버깅이 안 되니까 이제 혼잣말까지 하고 있음…
@kodingwarriorJaeyeol Lee
@hongminhee洪 民憙 (Hong Minhee) 그 HS인가 앱 켜면 나오는 그... 저화질 로고라도...
@akastoot악하
@kodingwarriorJaeyeol Lee 뭐 로고는 나중에 생각하고 일단 후원 신청부터 했습니다.
@kodingwarriorJaeyeol Lee
@hongminhee洪 民憙 (Hong Minhee) 그 HS인가 앱 켜면 나오는 그... 저화질 로고라도...
@akastoot악하
@kodingwarriorJaeyeol Lee 뭐 로고는 나중에 생각하고 일단 후원 신청부터 했습니다.
해펍도 SNS니까... 5만원 내면... 커뮤니티 가능할까... (#파이콘한국2025 #후원사모집 #Call_for_Sponsors)
@akastoot악하 후원 해봐야겠네요!
해펍도 SNS니까... 5만원 내면... 커뮤니티 가능할까... (#파이콘한국2025 #후원사모집 #Call_for_Sponsors)
바뀌지도 않은 코드가 잘 되다가 갑자기 안 되니 미치고 팔짝 뛰겠다…
複数の文字列を受け付けられるようにしたv0.5.0を出荷しました。ほぼVibe Codingで更新しました。
@yamanoku/baseline-mcp-server - JSR
WASM 2.0 공식 릴리즈
------------------------------
- *Wasm 2.0 스펙* 이 공식적으로 발표됨
- Wasm Community와 Working Groups가 2022년부터 스펙을 완성했고, 주요 구현체는 이미 2.0을 지원하고 있었음
- 2.0부터는 *에버그린 모델* 이 도입되어, Candidate Recommendation 문서가 지속적으로 최신 상태로 갱신됨
- 새 버전이 발표될 때마다 최종 권고안으로…
------------------------------
https://news.hada.io/topic?id=20812&utm_source=googlechat&utm_medium=bot&utm_campaign=1834
Void Linux 미러의 Helm 차트를 정리해서 다양한 미러를 구성할 수 있는 Helm 차트를 만들었어요~~
https://github.com/kyokugirl/helm-charts/tree/main/charts/file-mirror
AWS 를 바닥 (vpc 세팅) 부터 새롭게 하고 있다. private, public subnet 나누고 NAT 인스턴스 올리고, 베스천으로 프록시점프해서 private 구간 인스턴스 ssh 접속 확인하고 nginx 올리고 next 프로젝트 가져와서 proxy pass 걸고 alb 넣고.. 콘솔에서 바닥부터 한땀한땀 설정하는 게 오랜만이라 그런가 재밌다.
(요즘 엔지니어들이라면 IaC로 단숨에 끝냈겠지만)
아무도 알아주지 않지만 견고하게(?) 세팅 끝냈다며 혼자 뿌듯해 하는 1인, 그렇게 하루종일 개발 안하고 인프라 만지작 거리다 하루가 끝났다.
Fedify에 드디어 RFC 9421을 얼추 구현했고, 이제 상호운용성 테스트를 위해 Mastodon의 특정 브랜치를 실제로 인스턴스로 띄워서 액티비티를 송수신해봐야 한다. 그런데 Mastodon 띄우기가 너무나 귀찮다… (Mastodon 띄우기 귀찮아서 ActivityPub 개발 시작한 사람.)
@hongminhee洪 民憙 (Hong Minhee) 사실 git reset --hard를 타이핑하고 엔터를 누르는 순간까지는, '이 변경사항이 필요할일은 결코 없겠지'란 확신을 200%가지고 있지요ㅋㅋ
@bglbgl gwyng 맞습니다. git stash로 동작하게 해둬도 git stash drop까지 쳐버리고 나중에 후회할지도요… 😂
예전부터 생각하던 건데, git reset --hard를 인자 없이 쓰면 git stash로 동작하거나, 아니면 적어도 인자 없이 썼을 때 오류가 나게끔 설정할 수 있었으면 좋겠다. 별 생각 없이 날려도 괜찮겠지 싶어서 git reset --hard 쳤다가 몇 분 뒤에 후회하는 경우가 종종 있다.
그냥 습관을 바꿀 수 있으면 좋겠다…
예전부터 생각하던 건데, git reset --hard를 인자 없이 쓰면 git stash로 동작하거나, 아니면 적어도 인자 없이 썼을 때 오류가 나게끔 설정할 수 있었으면 좋겠다. 별 생각 없이 날려도 괜찮겠지 싶어서 git reset --hard 쳤다가 몇 분 뒤에 후회하는 경우가 종종 있다.
I shipped a fix to https://fedidb.com addressing missing servers, the culprit was our updated crawler robots.txt logic.
Next up: software version tracker, feature matrix, FEP Library, People Directory, Dev Tools, and Starter Kits.
The fedi deserves great tools. We deliver. ✨
@leetekwoo 님 어서 오세요!
We're excited to announce that we've implemented RFC 9421 (HTTP Message Signatures) in #Fedify, complete with our double-knocking mechanism to maintain backward compatibility with the draft cavage version.
This implementation includes both signature generation and verification, meaning #RFC9421 is used when both sending and receiving activities. While we haven't merged the RFC 9421 implementation branch yet, we're currently conducting interoperability tests with development versions of Mastodon and other #ActivityPub implementations. Once these tests confirm compatibility, we'll proceed with the merge.
As noted in the attached docs, although RFC 9421 is the final and official standard for HTTP Signatures, the draft cavage version remains widely used across the #fediverse. Our double-knocking mechanism ensures maximum compatibility by trying the RFC 9421 version first, then falling back to draft cavage if needed.
Currently, we support RSA-PKCS#1-v1.5 key pairs for generating HTTP Message Signatures, with plans to expand to other signature types in future releases.
We look forward to contributing to a more standardized and secure fediverse!
학과 책장에 11년 전에 출간한 웹 접근성 책을 찾았습니다.
책 목차를 살펴보니 WCAG 표준에서 제정한 아래 4가지 원칙을 개별마다 많은 사례를 바탕으로 다루고 있네요.
- 인지할 수 있는(Perceivable)
- 조작 가능한(Operable)
- 이해할 수 있는(Understandable)
- 견고함(Robust)
자료가 오래되었지만 흥미 있는 사례집이라 읽어 보려고 합니다.
요 며칠 코딩이 잘 안 되는 느낌… 아닌가, 원래 평소에도 이랬던가? 😑
세계 접근성 인식의 날은 매년 5월 셋째주 목요일로 지정되어있고, 올해는 오는 5월 15일(목)입니다.
a11ykr 커뮤니티 멤버들과 함께 한국어 소개글을 준비해서 제출했는데, 사이트에 게시되면 좋겠습니다.
The abbreviation #a11y itself is not very accessible. #accessibility
국산 코드에서 gubun 같은 식별자를 볼 때, 우리는 그게 왜 type 내지는 discriminator가 아닌지 물을 것이 아니라, 어째서 구분이 될 수 없는지를 물어야 한다.
国産のコードでdenwaの様な識別子を目にした際、我々は「なぜphoneやtelではないのか」と問うのではなく、「なぜ電話には成らないのか」と問うべきだと考える。
국산 코드에서 gubun 같은 식별자를 볼 때, 우리는 그게 왜 type 내지는 discriminator가 아닌지 물을 것이 아니라, 어째서 구분이 될 수 없는지를 물어야 한다.
@hongminhee洪 民憙 (Hong Minhee)
RAILS_ENV=test bin/rspec [spec/some/test/file.rb] 돌리시면 됩니다. 파일명 없이 돌리면 전체 테스트가 돌아갑니다
혹시 Rails 프로젝트 좀 경험해보신 분 계신가요? Mastodon 저장소에서 단위 테스트를 돌리고 싶은데 어떻게 돌리는지 잘 모르겠습니다. 일단 bundle install로 의존성은 다 설치해둔 상태입니다.
방금 하스켈 학교에서 객체지향 vs 함수형 떡밥이 n번째로 돌았는데, 나는 그냥 객체지향 = 상속(서브타이핑) 이라고 생각한다. 객체지향에서 상속을 빼면 뭐 남는게 없다. 그래서 객체지향이란 단어를 의미있게 사용하려면 상속이랑 동치시켜 사용할수 밖에 없다고 본다.
근데 상속은 코드를 합성하는 수많은 방법중 하나일 뿐이다. Java같은 언어는 그 수많은 방법중 딱 하나 상속만을 언어 자체에서 지원하는거고, 거기서 벗어나는 다른 유용한 추상화들은 죄다 디자인 패턴이라고 퉁쳐서 부른다. 그래서 객체지향 vs 함수형(= 상속 vs 함수형)은, 나에겐 Monoid vs 타입클래스 같은 비교처럼 들린다. 좌변과 우변이 체급이 안 맞아서 대결이 불성립한다.
@bglbgl gwyng 좀 더 정제된 말로 설명하자면 OOP에서 가장 중요한 건 부분형 다형성(subtype polymorphism)이라고 봐야겠죠. 🤔
C++를 통해 Rust의 매력을 보여준 Matt Godbolt의 설득
------------------------------
- 20년 이상 C++을 사용한 저자가 *Rust의 장점을 재발견* 하게 된 계기를 Matt Godbolt의 강연을 통해 소개함
- C++에서는 *타입 혼동에 의한 실수* 가 컴파일러에서 제대로 잡히지 않지만, Rust는 이를 *컴파일 타임에 강하게 차단* 함
- Rust는 *단순한 메모리 안전성 외에도 API 오용 방지* 에 유리한 설계를…
------------------------------
https://news.hada.io/topic?id=20760&utm_source=googlechat&utm_medium=bot&utm_campaign=1834
JetBrains사의 C/C++ IDE인 CLion은 이제 비상업적 용도로는 무료로 쓸 수 있다고 한다.
CLion Is Now Free for Non-Commercial Use - https://blog.jetbrains.com/clion/2025/05/clion-is-now-free-for-non-commercial-use/














![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] 웹 애플리케이션의 대체 콘텐츠가 접근성이 없는 경우 ... 141](https://media.hackers.pub/note-media/936d8e0a-f0d2-46f4-809f-97294ac5d7e7.webp)
![4장 운용의 용이성: 사용자 인터페이스 구성요소는 조작 가능하고 내비게이션할 수 있어야 한다
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] 페이지 재이동 시 회피할 수 있는 수단을 제공하지 않은 경우 ... 216](https://media.hackers.pub/note-media/ab959b1c-f2a1-416f-a9e9-f80c0b31bedf.webp)
![5장 이해의 용이성: 콘텐츠는 이해할 수 있어야 한다
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에서 감점 ... 276](https://media.hackers.pub/note-media/73ac2eb4-b098-4454-b5df-9c6757ffa581.webp)
![6장 견고성: 웹 콘텐츠는 미래의 기술로도 접근할 수 있도록 최대한 호환되어야 한다
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](https://media.hackers.pub/note-media/fd2e3ccf-e307-4908-979f-80338e4b39ca.webp)

