<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Frontend on Codeslog</title>
    <link>https://www.codeslog.com/en/tags/frontend/</link>
    <description>Recent content in Frontend on Codeslog</description>
    <image>
      <title>Codeslog</title>
      <url>https://www.codeslog.com/images/default-cover.png?v=20260114T1436</url>
      <link>https://www.codeslog.com/images/default-cover.png?v=20260114T1436</link>
    </image>
    <generator>Hugo -- 0.168.0</generator>
    <language>en-US</language>
    <lastBuildDate>Sat, 24 Oct 2026 01:07:00 +0900</lastBuildDate>
    <atom:link href="https://www.codeslog.com/en/tags/frontend/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>When aria-live Stays Silent — Getting ARIA Live Regions Right</title>
      <link>https://www.codeslog.com/en/posts/aria-live-regions/</link>
      <pubDate>Wed, 02 Sep 2026 01:14:30 +0900</pubDate>
      <guid>https://www.codeslog.com/en/posts/aria-live-regions/</guid>
      <description>You added aria-live correctly, but the screen reader stays silent. Why the container must exist before its content, and when to use focus instead.</description>
    </item>
    <item>
      <title>Test Culture, Interviews, and What Comes Next — Wrapping Up the Frontend Testing Series</title>
      <link>https://www.codeslog.com/en/posts/frontend-testing-wrap/</link>
      <pubDate>Sat, 08 Aug 2026 01:12:00 +0900</pubDate>
      <guid>https://www.codeslog.com/en/posts/frontend-testing-wrap/</guid>
      <description>Wrapping up the frontend testing series: the five layers stacked on one small app, what testing means for team culture and interviews, how to start on legacy code with no tests, and where to go next.</description>
    </item>
    <item>
      <title>The Traps in AI-Made Code — Missing Accessibility and Edge Cases</title>
      <link>https://www.codeslog.com/en/posts/frontend-testing-ai-pitfalls/</link>
      <pubDate>Fri, 07 Aug 2026 14:59:00 +0900</pubDate>
      <guid>https://www.codeslog.com/en/posts/frontend-testing-ai-pitfalls/</guid>
      <description>AI-written code is wrong in plausible ways. The accessibility and edge cases AI repeatedly drops, and how the test suite from this series reports each hole automatically — with a real before and after.</description>
    </item>
    <item>
      <title>Playwright × AI — codegen, MCP, Self-Healing Selectors</title>
      <link>https://www.codeslog.com/en/posts/frontend-testing-ai-playwright/</link>
      <pubDate>Thu, 06 Aug 2026 01:11:00 +0900</pubDate>
      <guid>https://www.codeslog.com/en/posts/frontend-testing-ai-playwright/</guid>
      <description>AI now drives the browser itself. A practical map of Playwright codegen and MCP agents: why Playwright MCP reads the accessibility tree rather than screenshots, and why self-healing selectors aren&amp;#39;t a Playwright feature.</description>
    </item>
    <item>
      <title>Generating Tests with AI — Verification Stays Human</title>
      <link>https://www.codeslog.com/en/posts/frontend-testing-ai-generate/</link>
      <pubDate>Thu, 06 Aug 2026 00:46:00 +0900</pubDate>
      <guid>https://www.codeslog.com/en/posts/frontend-testing-ai-generate/</guid>
      <description>How good is AI at writing tests? Practical ways to generate and extend tests with LLMs, what AI reliably misses, and the checklist for trusting AI-written tests.</description>
    </item>
    <item>
      <title>Popover, Anchor Positioning, Dialog: Are They Accessible Enough to Use Yet?</title>
      <link>https://www.codeslog.com/en/posts/browser-features-accessibility-2026/</link>
      <pubDate>Wed, 05 Aug 2026 15:07:00 +0900</pubDate>
      <guid>https://www.codeslog.com/en/posts/browser-features-accessibility-2026/</guid>
      <description>A green support table doesn&amp;#39;t mean everyone can use it. Here&amp;#39;s a 2026 accessibility check on popover, anchor positioning, dialog, and view transitions — and what you still have to do yourself for each.</description>
    </item>
    <item>
      <title>How to Read Coverage — and the Metrics Beyond It</title>
      <link>https://www.codeslog.com/en/posts/frontend-testing-coverage-metrics/</link>
      <pubDate>Tue, 04 Aug 2026 09:08:00 +0900</pubDate>
      <guid>https://www.codeslog.com/en/posts/frontend-testing-coverage-metrics/</guid>
      <description>How should you read a coverage report, and how far should you trust it? The difference between line and branch coverage, finding untested forks, and the team-health metrics numbers can&amp;#39;t show.</description>
    </item>
    <item>
      <title>Building Test and Accessibility Gates with GitHub Actions</title>
      <link>https://www.codeslog.com/en/posts/frontend-testing-ci-github-actions/</link>
      <pubDate>Mon, 03 Aug 2026 01:59:00 +0900</pubDate>
      <guid>https://www.codeslog.com/en/posts/frontend-testing-ci-github-actions/</guid>
      <description>A pipeline where unit tests, E2E, and accessibility checks run on every PR. Set up a merge gate with GitHub Actions in one workflow file — CI beginners welcome, terms explained in three minutes.</description>
    </item>
    <item>
      <title>Visual Regression Testing — Screenshot Comparison</title>
      <link>https://www.codeslog.com/en/posts/frontend-testing-visual-regression/</link>
      <pubDate>Wed, 29 Jul 2026 15:01:36 +0900</pubDate>
      <guid>https://www.codeslog.com/en/posts/frontend-testing-visual-regression/</guid>
      <description>&amp;#39;The feature works but the layout broke.&amp;#39; Catch what only eyes used to catch: implement visual regression tests with Playwright screenshot comparison, stable snapshots, and the environment trap to avoid.</description>
    </item>
    <item>
      <title>Fixtures, Auth Reuse, and Parallel Runs</title>
      <link>https://www.codeslog.com/en/posts/frontend-testing-playwright-fixtures/</link>
      <pubDate>Tue, 21 Jul 2026 01:25:00 +0900</pubDate>
      <guid>https://www.codeslog.com/en/posts/frontend-testing-playwright-fixtures/</guid>
      <description>Repeating the same setup in every test? Playwright&amp;#39;s custom fixtures (base.extend) and Page Object pattern remove it, storageState logs in once, and fullyParallel keeps the suite fast and isolated.</description>
    </item>
    <item>
      <title>Locators and auto-wait — Taming Flaky Tests</title>
      <link>https://www.codeslog.com/en/posts/frontend-testing-playwright-locators/</link>
      <pubDate>Sat, 18 Jul 2026 23:06:00 +0900</pubDate>
      <guid>https://www.codeslog.com/en/posts/frontend-testing-playwright-locators/</guid>
      <description>Why E2E tests fail only sometimes, and the actual fix. Understand Playwright locators, auto-wait, and strict mode, and cut flakiness at the root with robust selectors.</description>
    </item>
    <item>
      <title>Getting Started with Playwright E2E — Your First Scenario</title>
      <link>https://www.codeslog.com/en/posts/frontend-testing-playwright-intro/</link>
      <pubDate>Sat, 18 Jul 2026 02:25:00 +0900</pubDate>
      <guid>https://www.codeslog.com/en/posts/frontend-testing-playwright-intro/</guid>
      <description>E2E verifies whole user flows in a real browser. Install Playwright, understand the webServer config, and write and pass your first scenario — with a clear role split against unit and component tests.</description>
    </item>
    <item>
      <title>Folding Accessibility into Tests — Role-Based Queries</title>
      <link>https://www.codeslog.com/en/posts/frontend-testing-a11y-queries/</link>
      <pubDate>Fri, 17 Jul 2026 01:37:00 +0900</pubDate>
      <guid>https://www.codeslog.com/en/posts/frontend-testing-a11y-queries/</guid>
      <description>A well-written test is an accessibility check. Use role-based queries and accessible names to catch accessibility regressions with the tests you already write — no new tools required.</description>
    </item>
    <item>
      <title>?? vs ||: Why Your Zero Keeps Disappearing</title>
      <link>https://www.codeslog.com/en/posts/javascript-nullish-coalescing/</link>
      <pubDate>Tue, 14 Jul 2026 23:52:00 +0900</pubDate>
      <guid>https://www.codeslog.com/en/posts/javascript-nullish-coalescing/</guid>
      <description>The decisive difference between the nullish coalescing operator (??) and || — it&amp;#39;s why 0 and empty strings get swallowed by defaults. Falsy traps, ??= assignment, optional chaining combos, and why mixing the two throws a SyntaxError.</description>
    </item>
    <item>
      <title>Mocking the Network with MSW — Isolating the API</title>
      <link>https://www.codeslog.com/en/posts/frontend-testing-msw/</link>
      <pubDate>Tue, 14 Jul 2026 01:05:00 +0900</pubDate>
      <guid>https://www.codeslog.com/en/posts/frontend-testing-msw/</guid>
      <description>Calling a real API in tests is slow and unstable. Isolate the network layer with MSW (Mock Service Worker) and simulate success and failure responses at will — a real reception desk for your requests.</description>
    </item>
    <item>
      <title>Testing Forms, Interaction, and State — with user-event</title>
      <link>https://www.codeslog.com/en/posts/frontend-testing-user-event/</link>
      <pubDate>Mon, 13 Jul 2026 23:39:00 +0900</pubDate>
      <guid>https://www.codeslog.com/en/posts/frontend-testing-user-event/</guid>
      <description>Reproduce real user interactions — typing, clicking, selecting — with user-event, and test forms and state changes from render to result, the way a user would actually drive them.</description>
    </item>
    <item>
      <title>The Testing Library Philosophy — Querying Like a User</title>
      <link>https://www.codeslog.com/en/posts/frontend-testing-testing-library/</link>
      <pubDate>Fri, 10 Jul 2026 01:27:00 +0900</pubDate>
      <guid>https://www.codeslog.com/en/posts/frontend-testing-testing-library/</guid>
      <description>React Testing Library&amp;#39;s core philosophy: test like a user. Learn the query priority built around getByRole, and how testing behavior instead of implementation makes tests survive refactoring.</description>
    </item>
    <item>
      <title>mock, stub, spy — Understanding Test Doubles Properly</title>
      <link>https://www.codeslog.com/en/posts/frontend-testing-test-doubles/</link>
      <pubDate>Fri, 10 Jul 2026 00:44:00 +0900</pubDate>
      <guid>https://www.codeslog.com/en/posts/frontend-testing-test-doubles/</guid>
      <description>mock, stub, spy, fake… the confusing test-double vocabulary, sorted out. Cover all three with a single Vitest vi.fn() (Jest is nearly identical), and learn the one rule for how much to fake.</description>
    </item>
    <item>
      <title>TypeScript 7 Is Here — The 10x Native Compiler, and Whether You Should Switch Now</title>
      <link>https://www.codeslog.com/en/posts/typescript-7-native-compiler/</link>
      <pubDate>Thu, 09 Jul 2026 23:05:00 +0900</pubDate>
      <guid>https://www.codeslog.com/en/posts/typescript-7-native-compiler/</guid>
      <description>TypeScript 7 has shipped, reborn in Go. Real benchmarks (VSCode: 125s to 10s), the new strict-by-default config, side-by-side installs with 6.x — everything you need to decide whether to switch today.</description>
    </item>
    <item>
      <title>Testing Async Code, Timers, and Errors</title>
      <link>https://www.codeslog.com/en/posts/frontend-testing-async/</link>
      <pubDate>Wed, 08 Jul 2026 00:27:00 +0900</pubDate>
      <guid>https://www.codeslog.com/en/posts/frontend-testing-async/</guid>
      <description>Promises, setTimeout, and failure cases. Test async code with Vitest&amp;#39;s resolves/rejects matchers and fake timers, building a debounce test — and see why a missing await lets a broken test pass anyway.</description>
    </item>
    <item>
      <title>Unit Testing Basics — Pure Functions, Edge Cases, and the AAA Pattern</title>
      <link>https://www.codeslog.com/en/posts/frontend-testing-unit-basics/</link>
      <pubDate>Mon, 06 Jul 2026 00:20:00 +0900</pubDate>
      <guid>https://www.codeslog.com/en/posts/frontend-testing-unit-basics/</guid>
      <description>The sturdiest foundation there is: unit tests. Learn how to test pure functions, hunt edge cases, and structure every test with the AAA (Arrange-Act-Assert) pattern — with real-world examples.</description>
    </item>
    <item>
      <title>What to Test, and How Much — The Trap of 100% Coverage</title>
      <link>https://www.codeslog.com/en/posts/frontend-testing-strategy-coverage/</link>
      <pubDate>Sat, 04 Jul 2026 22:34:00 +0900</pubDate>
      <guid>https://www.codeslog.com/en/posts/frontend-testing-strategy-coverage/</guid>
      <description>Are more tests always better? A guide to what deserves tests first, plus three traps that inflate coverage without protecting users: assert-less tests, snapshot piles, and implementation-detail spies.</description>
    </item>
    <item>
      <title>Testing Terms, All in One Place — A Frontend Testing Glossary (Appendix)</title>
      <link>https://www.codeslog.com/en/posts/frontend-testing-glossary/</link>
      <pubDate>Sat, 04 Jul 2026 22:30:00 +0900</pubDate>
      <guid>https://www.codeslog.com/en/posts/frontend-testing-glossary/</guid>
      <description>From unit tests to flaky, fixtures, and MCP — every term in the Frontend Testing, Done Right series, explained for beginners and ordered the way you&amp;#39;ll meet them. Bookmark this page and come back whenever a word looks unfamiliar.</description>
    </item>
    <item>
      <title>Why Frontend Testing, Why Now — A Seatbelt for the AI Era</title>
      <link>https://www.codeslog.com/en/posts/frontend-testing-why-now/</link>
      <pubDate>Fri, 03 Jul 2026 16:33:17 +0900</pubDate>
      <guid>https://www.codeslog.com/en/posts/frontend-testing-why-now/</guid>
      <description>The faster AI writes code, the more testing matters. In this opener of the Frontend Testing, Done Right series, we cover what tests really give you, pyramid vs. trophy strategy, and the full curriculum ahead.</description>
    </item>
  </channel>
</rss>
