Skip to content

Scheduled Publishing with GitHub Actions Every 3 Hours

Introduction When running a static blog, “scheduled publishing” and “build limits” often become problems at the same time. In particular, building on every commit can easily hit build limits on platforms like Cloudflare Pages. In this post, I’ll walk you through the approach I’m actually using: running a publish check with GitHub Actions every 3 hours to handle scheduled publishing. The key idea is “check only at set intervals, and publish only when needed.” ...

Published date: 2026-01-30 · Reading time: 11 min · Word count: 2255 words · Author: Isaac

Atomic Tests vs. Holistic Tests: A New Testing Approach

Compare WCAG 3.0’s quantitative/qualitative testing flow with WCAG 2.2’s success-criteria model. We cover Atomic/Holistic concepts, view/process scope, and how tests connect to scoring from a practical perspective.

Published date: 2026-01-26 · Updated 2026-07-30 · Reading time: 5 min · Word count: 1034 words · Author: Isaac

WCAG 3.0 Conformance Model: Moving Beyond A/AA/AAA

Explore how WCAG 3(3.0)'s conformance model moves beyond A/AA/AAA. Covers the Core/Supplemental/Assertions structure, the returning Bronze/Silver/Gold levels, and views/processes-based scope, based on the March 2026 draft.

Published date: 2026-01-25 · Updated 2026-09-10 · Reading time: 10 min · Word count: 2016 words · Author: Isaac

Improving Multilingual Blog UX: Building a Smart Language Suggestion Banner

Introduction Running a blog in both Korean and English revealed an interesting problem. When sharing blog links internationally, visitors often land on the Korean page. Those who can’t read Korean are confused, right? Similarly, when Korean readers click on English post links shared in Korean communities, they face the same issue. While there’s a language switcher button in the header, new visitors often struggle to find it. This isn’t user-friendly, and from an accessibility perspective, it’s not ideal either. ...

Published date: 2026-01-23 · Reading time: 9 min · Word count: 4166 words · Author: Isaac

ARIA Practical Guide: Implementing Accessible Web Interfaces

Developers often make the same mistake after learning ARIA. They understand the concept, but they are unsure when and how to apply it in real projects. ARIA practical guide main visual with ARIA attributes highlighted in a code editor Cover image example: visual that symbolizes applying ARIA attributes · Generated by Nanobanana AI You may have heard the phrase: “ARIA is a last resort.” Use semantic HTML first, and add ARIA only when native HTML is not enough. This guide follows that principle and shows how to use ARIA effectively in real work. ...

Published date: 2026-01-22 · Reading time: 19 min · Word count: 3950 words · Author: Isaac

WCAG 3.0 Structure Anatomy: From Success Criteria to Outcomes

WCAG 3.0 restructures accessibility into Guidelines, Outcomes, and Methods. Covers the 153 requirements (Core 92 + Supplemental 61), Atomic vs. Holistic Tests, and a login-form example vs WCAG 2.2.

Published date: 2026-01-19 · Updated 2026-10-17 · Reading time: 20 min · Word count: 4179 words · Author: Isaac

Building a Dynamic Comment System on a Static Site: Giscus + GraphQL API

Introduction Blogs built with Static Site Generators (SSG) are incredibly fast and secure. However, adding dynamic features like comments requires careful consideration. This blog uses Giscus, a GitHub Discussions-based comment system, but there was one inconvenience. Comments only appear at the bottom of each post, making it difficult to see at a glance which articles have active discussions. So I built three features: Display comment counts in post lists - See which articles have ongoing conversations Show recent comments on the explore page - View recent blog activity at a glance Create an all comments page - Browse all comments in one place This article shares the process of bringing dynamic comment information to a static site using GitHub GraphQL API while maintaining optimal performance. ...

Published date: 2026-01-16 · Reading time: 10 min · Word count: 4901 words · Author: Isaac

The Dawn of WCAG 3.0: Why We Need New Guidelines

WCAG evolved from 1.0 to 2.2 over 26 years. This post explains why WCAG 3.0 exists: the All-or-Nothing dilemma, checkbox accessibility, and the shift from pass/fail checklists to user outcomes.

Published date: 2026-01-12 · Updated 2026-07-30 · Reading time: 16 min · Word count: 3333 words · Author: Isaac

Code Block Accessibility Improvement: Line Numbers That Screen Reader Users Can Choose

Introduction Recently, I started building and operating a blog using Hugo with the PaperMod theme. Using someone else’s theme has the advantage of quick setup, but not everything fits my needs perfectly. After customizing many parts to match my preferences, I noticed some issues with the code blocks. Line numbers were implemented with <table> tags. While this doesn’t violate accessibility guidelines, it felt not semantic. Moreover, I wondered: what’s the experience for screen reader users? I found a better approach using CSS Counters. ...

Published date: 2026-01-09 · Reading time: 17 min · Word count: 3537 words · Author: Isaac

Beyond Regulation, Toward Trust - The AI Basic Act and Accessibility

This post is a record of grappling with web accessibility, public web services, and the responsibilities of developers from direct, hands-on experience. Between law, technology, standards, and reality, I try to answer the question: “Are we really building for everyone?” In the previous post, we confirmed that the Digital Inclusion Act asks “what is usable?” Then this question remains: If AI is a system that makes decisions? If users can’t understand automated decisions? How do we distinguish between content created by generative AI? ...

Published date: 2026-01-07 · Reading time: 18 min · Word count: 3632 words · Author: Isaac
맨 위로