スイス政府AGOV登録プロセスの奇妙なバグ

スイスでは2024年から政府のデジタルIDシステム「AGOV」が稼働しており、失業保険の申請や納税といった重要な手続きに利用が拡大しています。現在160万以上のアカウントが存在し、一部の地域では市民権申請の唯一の窓口となるなど、その重要性は増すばかりです。しかし、このAGOVの登録プロセスにおいて、ユーザーが奇妙なバグに遭遇した事例が報告されました(出典)。

ユーザーが検証コードを入力する際に、数字が次のボックスに自動で移動せず、現在のボックスに蓄積されエラーになるという問題が発生しました。

具体的には、メールアドレスの検証コード入力フォームが6つのボックスに分割されており、数字を入力するたびに次のボックスにフォーカスが自動で移動せず、現在のボックスに複数の数字が蓄積されて赤色でエラー表示されるというものでした。手動で次のボックスに移動させても、「フィールドが必須です」というエラーが表示され、登録が進まなかったとのことです。これは開発者にとって頭を抱えるような状況ではないでしょうか。

広範な環境で再現するエラーとサポート体制の課題

当初、この問題はFirefoxとLinuxの組み合わせによるものかと考えられましたが、ChromiumやChrome(Linux/macOS)、Safari(macOS)など、6種類のブラウザとOSの組み合わせすべてで同じエラーが再現しました。これは特定の環境に依存しない、より根深い問題であることを示唆しています。

開発者ツールでDOMを確認しても明らかな原因は発見されず、Webコンソールにもエラーメッセージは記録されなかったとのことです。Friendly Captchaの利用が確認されたものの、それが直接の原因であるかも特定はできませんでした(出典)。

さらに深刻なのは、この問題が発生した際のサポート体制です。AGOVのウェブサイトには多くのヘルプセクションがあるにもかかわらず、サポートに連絡する唯一の方法は、この検証コード入力フォームを通過した先に存在するウェブフォームのみでした。

つまり、問題が発生しているフォームを突破しない限り、サポートに連絡することすらできないという致命的な状況です。FAQにも、これが唯一の連絡手段であることが明記されています(出典)。

項目 AGOV登録エラーの状況
問題点 検証コードの数字入力でエラー、次のボックスへ移動しない
再現性 Firefox, Chromium, Chrome (Linux/macOS), Safari (macOS) 全てで再現
開発者ツール DOMに明らかな異常なし、コンソールにエラーなし
サポート体制 エラーフォームを通過しないとサポートに連絡不可

アクセシビリティの設計ミスがもたらす影響

この問題の根本原因は、アクセシビリティの設計ミスにありました。フィールドが6つの独立した入力ボックスに見えますが、実際には内部的には一つの <input type="number"> 要素として実装されており、各数字が1文字ずつではなく、それぞれが全体を検証しようとしていたのです。この内部的な実装が、視覚的なUIと乖離することで混乱を招いていました(出典)。

このバグを回避するためには、キーボードで数字を入力するのではなく、コピー&ペーストで一度に6桁の数字を貼り付ける必要があったとのことです。この解決策を発見するまでに、筆者は多大な時間と労力を費やしています。これはデジタル化が進む現代において、アクセシビリティの重要性を再認識させる事例と言えるでしょう。

特に政府サービスのような、全市民が利用することが求められるシステムにおいては、この種の設計ミスは許容されません。自分の個人プロダクトでも、使いやすさとアクセシビリティにはもっと意識を向けるべきだと改めて感じさせられました。

今後の展開:デジタルIDとアクセシビリティの未来

今回のAGOVの事例は、デジタルアイデンティティシステムが社会インフラとなる中で、ユーザーインターフェースやアクセシビリティ設計がいかに重要であるかを浮き彫りにしました。特に政府サービスは、テクノロジーに慣れていないユーザーも含め、誰もが問題なく利用できるべきです。今後は、このようなシステムが導入される際に、より厳格なアクセシビリティ監査と多様なユーザーテストが必須となるでしょう。

また、AIによるUI/UXデザイン支援ツールや、コードレビューツールが進化すれば、このような基本的な設計ミスはより早期に発見され、修正されるようになるかもしれません。開発者としては、Claude CodeのようなAIアシスタントを活用して、アクセシビリティのベストプラクティスをコードに組み込む努力も必要だと感じます。デジタル化が加速する社会において、技術的な進歩だけでなく、それを利用するすべての人々への配慮が、サービスの信頼性を高める鍵となるでしょう。