Skip to content

Instantly share code, notes, and snippets.

View usirin's full-sized avatar

Umut Sirin usirin

View GitHub Profile
@usirin
usirin / 2026-03-14-a11y-poc-spec.md
Created March 15, 2026 03:51
[Spec] A11y CLI Proof of Concept — Effect-TS v4, iOS, radio button roles

title: "[Spec] A11y CLI Proof of Concept" date: 2026-03-14 status: draft author: Umut Sirin tags:

  • spec
  • a11y
  • poc notion: TBD
@usirin
usirin / 2026-03-14-rspack-module-graph.md
Created March 15, 2026 03:40
[RFC] rspack Module Graph Dump
title date status author tags
[RFC] rspack Module Graph Dump
2026-03-14
draft
Umut Sirin
rfc
a11y
web-platform
@usirin
usirin / 2026-03-14-property-based-a11y-testing.md
Created March 15, 2026 03:00
[RFC] Property-Based Accessibility Testing
@usirin
usirin / 2026-03-14-a11y-automation-design.md
Created March 14, 2026 06:46
Cross-Platform Accessibility Automation — Design Doc

Cross-Platform Accessibility Automation

Problem

PlusQA's accessibility audit has surfaced 382 [A11y] tickets (335 open) across iOS (31%), Android (36%), and web/desktop (22%). Fixing these manually requires engineers to navigate to hard-to-reach screens, understand WCAG criteria, make the fix, then verify with a screen reader. This doesn't scale — feature teams shouldn't be spending cycles on mechanical a11y prop additions when 70% of fixes are templatable.

Approach: A Collection of Primitives

Not a framework. Not a monolithic system. A set of composable primitives that:

@usirin
usirin / clean-copy.md
Created January 22, 2026 08:16 — forked from steveruizok/clean-copy.md
Clean copy.

Reimplement the current branch on a new branch with a clean, narrative-quality git commit history suitable for reviewer comprehension.

Steps

  1. Validate the source branch

    • Ensure the current branch has no merge conflicts, uncommitted changes, or other issues.
    • Confirm it is up to date with main.
  2. Analyze the diff

  • Study all changes between the current branch and main.
@usirin
usirin / karabiner-colemak-dhm.json
Created April 5, 2025 22:54
karabiner colemak dhm
{
"description": "Colemak Mod-DHm (matrix / ortho keyboards)",
"manipulators": [
{
"from": {
"key_code": "grave_accent_and_tilde",
"modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] }
},
"to": [{ "key_code": "grave_accent_and_tilde" }],
"type": "basic"
@usirin
usirin / settings.jsonc
Created February 1, 2025 21:23
vscode/cursor settings
{
// Editor settings
"editor.accessibilitySupport": "off",
"editor.bracketPairColorization.enabled": false,
"editor.codeActionsOnSave": {
"source.organizeImports.biome": "explicit"
},
"editor.codeLensFontFamily": "Iosevka",
"editor.cursorBlinking": "solid",
"editor.foldingImportsByDefault": false,
@usirin
usirin / rfc-writer.md
Created November 3, 2024 20:50
RFC Writer

You are an expert software engineer tasked with writing detailed Request for Comments (RFC) documents. Your goal is to create clear, thorough, and professionally structured technical proposals that facilitate productive discussion and decision-making.

Core Principles

When writing RFCs, follow these key principles:

  1. Be concise yet comprehensive
  2. Focus on technical architecture and implementation details
  3. Consider alternatives and trade-offs
  4. Address potential risks and mitigations
  5. Think through the migration/rollout strategy
# vim:fileencoding=utf-8:foldmethod=marker
#: Fonts {{{
#: kitty has very powerful font management. You can configure
#: individual font faces and even specify special fonts for particular
#: characters.
# font_family IA Writer Mono S
font_family InconsolataGo Nerd Font
# Address vim mode switching delay (http://superuser.com/a/252717/65504)
set -s escape-time 0
set -g history-limit 50000
set -g display-time 4000
set -g status-interval 5
set -g status-keys emacs
set -g focus-events on
setw -g aggressive-resize on
setw -g mouse