タグ

accessibilityに関するmizdraのブックマーク (41)

  • アクセシビリティの改善のために React Aria を活用しています - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは!DOGO プロジェクトでソフトウェアエンジニアとして活動している @nissy_dev です。 DOGO プロジェクトでは、React Aria を活用してアクセシビリティの改善を行っています。 今回の記事では、React Aria を国内にもっと広めて行きたいということで、React Aria を利用することに決めた理由を振り返りつつ、React Aria について簡単に紹介します。 目次 OSS を活用した効率なアクセシビリティの改善 ライブラリの選定 React Aria の概要 Next.js App Router との相性 終わりに OSS を活用した効率なアクセシビリティの改善 DOGO プロジェクトでは、フロントエンドの刷新を進めていく中でアクセシビリティの改善についても取り組んでいます。 具体的な事例などについては、次の記事も参考にしてもらえればと思います。 各

    アクセシビリティの改善のために React Aria を活用しています - Cybozu Inside Out | サイボウズエンジニアのブログ
  • @location-state/conformをリリースした

    この記事はlocation-stateをconformに対応させるために開発した、@location-state/conformの紹介記事です。 location-stateとは location-stateは履歴位置に同期する状態管理ライブラリです。主にNext.jsをサポートしています。 Next.jsなどを採用している場合、ページ内のuseStateは遷移時のunmountで状態が破棄され、ブラウザバック時には復元されません。そのため、アコーディオンやform要素の状態はブラウザバック時にはリセットされてしまいます。これはNext.jsに限らず、ReactVueなどをベースにしたモダンなフロントエンドフレームワークを採用して、クライアントサイドルーティングが発生する場合に起きがちな挙動です。クライアントサイドルーティングが不在なMPAでは、bfcacheやブラウザ側の復元処理によっ

    @location-state/conformをリリースした
    mizdra
    mizdra 2024/05/18
    良さそう
  • Inclusive Web Design

    mizdra
    mizdra 2024/05/17
    Progressive Enhancement 初出
  • UIにおける見えるけど利用できない非活性な領域の実装とinert属性について

    モーダルダイアログのようなUIには、それが出現している間はダイアログの外の領域が操作不能になっているという慣習があります。ダイアログが取り扱うタスクだけにユーザーを集中させるために、あえてダイアログ以外の操作ができないようになっています。 またモーダルダイアログをはじめとしてディスクロージャーなど、ユーザーの操作に応じて表示と非表示が切り替わるUIもあります。こうしたUIは視覚的には隠れているようでも、実装としては、つねにDOM上に存在しているHTML要素の属性だけを書き換えてレンダリング結果を制御するのが一般的です。 こうしたケースでは、特定の領域を操作できないように実装を行う必要があります。CSSでdisplay:noneかvisibility:hiddenが指定されたHTML要素はそれだけで操作できない状態になりますが、それ以外の方法で非表示になったHTML要素は、利用状況によっては

    UIにおける見えるけど利用できない非活性な領域の実装とinert属性について
  • プレースホルダーのアクセシビリティ上の課題と解決策 - SmartHR Tech Blog

    こんにちは!SmartHRプロダクトエンジニアのhimiです。 この記事ではプレースホルダーのアクセシビリティとユーザビリティについての課題と、その解決手段についての話を書きます。 プレースホルダーって何? Webアプリでよく見る、フォームコントロールに値が無いときに表示するテキストのことです。 主な用途としては、フォームの入力例や入力内容の説明テキストが設定されることが多いです。 HTML Standardでは The placeholder attribute represents a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. A hint could be a sample value or a brief de

    プレースホルダーのアクセシビリティ上の課題と解決策 - SmartHR Tech Blog
  • DOMDOMタイムス#15: canvas-based renderingとa11y。いま、そしてこれから

    DOMDOMタイムス#15: canvas-based renderingとa11y。いま、そしてこれから はい、DOMDOMタイムスです。知ってるよって?この挨拶は、まあ準備体操みたいなものなので。いつだって欠かさずやっていきます👶 さて、今日はcanvas-based renderingとa11yの話です。この前のJSConfセッションの最後のあたりで話したことと重複が大きいですが、面白がってくれる方が多かったので文章にしておこうと思いました。 (一応JSConfセッションの資料へのリンクも載せておきますね) canvas-based renderingの波 canvas-based renderingという言葉は、この記事では「canvasをゴリゴリに使ってwebコンテンツをレンダリングすること」ってくらいの意味で使います。通常のform要素やdiv要素ではなくて、canvas要素

    DOMDOMタイムス#15: canvas-based renderingとa11y。いま、そしてこれから
    mizdra
    mizdra 2023/12/07
    “一方でfallback contentとかではなくて、全然別でDOMを構成してcanvas内容に対応するAOMをブラウザに作らせることができます。まさにFlutterがそれです。”/ Flutter それやってるんだ。知らなかった。
  • 意外と知らないvisibilityの活用方法! | フロントエンドBlog | ミツエーリンクス

    ※もっと具体的に知りたい方はCSS 2.2の11.2 Visibility: the 'visibility' propertyなどをご覧ください。 visibility vs display vs opacity ただ要素を見えなくするだけなら透明度を操作するopacityプロパティがあります。しかしそれよりもvisibilityが優れている点は、不可視になる(値がhiddenやcollapaseになる)と同時にアクセシビリティツリーからしっかり削除され、スクリーンリーダに読み上げられずタブフォーカスも当たらなくなるというところです1。display: none;との違いは「表示領域が残るかどうか」以外違いはありません。 特に、値collapseはテーブルなどで特定のセルや行だけを非表示にしたい場合などにも重宝します。display: none;でも同じような表現になりますが、colla

    意外と知らないvisibilityの活用方法! | フロントエンドBlog | ミツエーリンクス
  • Maps JavaScript API のユーザー補助機能に関する 2023 年の最新情報

    .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

    Maps JavaScript API のユーザー補助機能に関する 2023 年の最新情報
    mizdra
    mizdra 2023/06/27
    Google Maps JavaScript API のアクセシビリティの改善の話
  • Everything you didn’t know you need to know about buttons

    Let’s start by making one thing clear — you should not use a div for a clickable element (at least in 99% of cases). But why? Simply put, a div != a button. A div is simply a generic container, and is missing a number of qualities that a properly clickable element should have, such as: Divs are not focusable, for instance, your tab key will not focus a div as it will for any other button on your d

    Everything you didn’t know you need to know about buttons
  • divはボタンではない、ボタンの実装について知っておくべきすべてのこと

    クリックできるボタンを実装するとき、HTMLの何をよく使用しますか? buttonタグ、もしくはdivタグ? divを使用してはいけない理由、buttonを使用するときの注意点、場合によってはaがよい理由を紹介します。 Everything you didn’t know you need to know about buttons by Steve Sewell 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 はじめに ボタンの実装にdivを使用したときの問題点 ボタンをbuttonで実装する buttonのスタイルに関する問題点 buttonのスタイルを正しく設定する方法 フォーム内のbuttonの動作を修正する 他のページへのリンクに使用する場合はaタグで ボタンの実装をコンポーネントにする 終わりに はじめに クリックで

    divはボタンではない、ボタンの実装について知っておくべきすべてのこと
  • わたしはページ内検索を普通に使いたい

    以前にも少し書いたのですが、ウェブブラウザーで使えるページ内検索による体験が阻害されるのが当にストレスで、その例を残しておこうと思います。 採用側の気持ちも分かりますので、どうなると皆が幸せになるのか分からないという種類のものなので困ったところです。 省略されたテキストoverflow: hiddenとtext-overflow: ellipsisまたは-webkit-line-clampによってテキストが省略された場合、その省略部分がページ内検索にヒットすると非常に探しづらいです。 特に、グリッドで区切られたアイテムが複数列・複数行で並んでいる際に顕著です。 以前の記事のとおり、わたしはYouTubeでよく遭遇します。 下記のデモは、1000個のアイテムを並べたものです。 このうち、「Red Rose」というワードは12個のアイテムに含まれています。 デモを開いて「Red Rose」で

    わたしはページ内検索を普通に使いたい
  • 2023年のWebアクセシビリティ | gihyo.jp

    あけましておめでとうございます。株式会社ミツエーリンクスの中村直樹です。昨年と同じく、2022年のWebアクセシビリティに関連する出来事を振り返りつつ、2023年のWebアクセシビリティの展望について俯瞰していきたいと思います。 WCAG 2.2 2022年9月版のWCAG 2.2で、文書のステータスとしてはようやく勧告候補(Candidate Recommendation)にまでたどり着き、仕様文書として完成する勧告(Recommendation)が見えてきた…と思っていたところですが、12月になって達成基準4.1.1構文解析を削除するという話が急浮上してきました。 達成基準4.1.1がどういったものなのか、改めて振り返ってみましょう。この達成基準については、もとはWCAG 2.1(原文、参考日語訳)と同じものであり、WCAG 2.0とも同一です。達成基準4.1.1は、マークアップ言語

    2023年のWebアクセシビリティ | gihyo.jp
  • Web フロントエンドの実装において本来の機能を損なってはいけない

    Web フロントエンドの実装において来の機能を損なってはいけない 2022.12.24 データの取得・ルーティング・フォームの値の管理に至るまで JavaScript で制御するようになった結果、来備わっていた機能を損なう形で実装されるような間違いが起きるケースも発生してしまいました。見た目上操作に不都合がないのですが、修飾キーが有効でなかったりと、とある要素が当然に持っているべき機能が失われていることがよくあります。 昨今の Web フロントエンドの開発においては、ReactVue.js などを利用した SPA を採用することが多くなりました。従来の MPA と比較して、リンククリック時やフォーム送信時にページリロードを挟まないので、高速な画面遷移を実現できるため、快適な操作を実現できます。 一方データの取得・ルーティング・フォームの値の管理に至るまで JavaScript

    Web フロントエンドの実装において本来の機能を損なってはいけない
    mizdra
    mizdra 2022/12/27
  • ワンタイムパスワード(OTP)のベストプラクティスじゃない入力フォームに出会う - hogashi.*

    こんにちは、 id:hogashi です。 masawada Advent Calendar 2022 - Adventar の 2日目です。 目次 目次 OTP 入力フォーム まずベストプラクティスを見る それでは題です ちなみに ちなみに2 むすび OTP 入力フォーム なぜか id:masawada さんとたまにワンタイムパスワード (OTP) の話をする印象があります。偶然生成された「ホホンドホド」という文字列*1が TOTP で出そうな見た目じゃん、とか。 最近もまた微妙に使いづらい入力フォームに出会いました。そこで、世に存在するベストプラクティスとそれに沿わないフォームを見て、ベストたる所以をなんとなく感じてみる回をお送りします。結果的に GitHub がなんかむずい感じになっているという記事になりましたが、もちろん各サービスそれぞれ良いと思ってやっているはずなのであくまで個

    ワンタイムパスワード(OTP)のベストプラクティスじゃない入力フォームに出会う - hogashi.*
    mizdra
    mizdra 2022/12/10
    自動送信、1文字ずつ手入力する時は不便だけど、パスコードまるごとペーストする時は間違えようないし、逆にありがたいなーと思ってる。ペースト時かつ、文字数が合ってる時のみ発動するようになってると良さそう。
  • 社内でのアクセシビリティ推進

    DroidKaigi 2022 - Day 1 (2022/10/5) https://droidkaigi.jp/2022/timetable/364627 動画: https://www.youtube.com/watch?v=j-DmJqs0HkM 読みにくい場合: https://docs.google.com/presentation/d/1QMtse-2pfVAkq9pOq_X8V546jr_L1o8pEvA9ZGmLQtM/edit?usp=sharing

    社内でのアクセシビリティ推進
    mizdra
    mizdra 2022/10/06
    良い
  • WAI-ARIA のランドマーク (Landmark Roles) を設置する | Accessible & Usable

    公開日 : 2011年7月12日 (2018年1月20日 更新) カテゴリー : アクセシビリティ 当サイトでは、Web アクセシビリティ向上の一環として、WAI-ARIA の「ランドマーク (Landmark Roles)」をソースコードの中に記述しています。 WAI-ARIA とは、W3C (World Wide Web Consortium) の WAI (Web Accessibility Initiative) という組織が策定した、Web アクセシビリティ向上のための仕様書のひとつです。RIA (Rich Internet Applications) をアクセシブルなものにするための標準仕様がまとめられています (WAI-ARIA の「ARIA」は、「Accessible Rich Internet Applications」の略です)。 この WAI-ARIA、来は RIA

    WAI-ARIA のランドマーク (Landmark Roles) を設置する | Accessible & Usable
  • WAI-ARIA 実装の5つのルール | Accessible & Usable

    公開日 : 2020年6月27日 カテゴリー : アクセシビリティ / 情報設計 (IA) ウェブアクセシビリティを高めるための実装方法のひとつに、WAI-ARIA があります。WAI-ARIA とは、Web Accessibility Initiative (W3C の中で、Web アクセシビリティに関する仕様を検討する部会) が策定した、Accessible (アクセシブル) な Rich Internet Applications (リッチインターネットアプリケーション : RIA) に関する仕様です。この仕様で定められた記述をソースコードに加えることによって、JavaScript などでインタラクティブに動くユーザーインターフェースであっても、その状況の変化を、マシンリーダブルな形で支援技術 (スクリーンリーダーなど) に伝達することができます。 アクセシビリティに関心のある制作者

    WAI-ARIA 実装の5つのルール | Accessible & Usable
  • 「特務機関NERV防災」アプリ、アクセシビリティ機能を大幅強化 | ゲヒルン株式会社

    PDFはこちらから ゲヒルン株式会社(社:東京都千代田区、代表取締役:石森 大貴、以下「ゲヒルン」)は、2022年9月1日(防災の日)に「特務機関NERV《ネルフ》防災」アプリ をアップデートし、アクセシビリティ機能を大幅に強化したバージョン v4.0(:3.0+1.0) をリリースしました。これまでのアプリの中に、新実装のアプリを統合するようなアップデートになっています。 「シン・テーマ」が登場 2019 年のアプリリリースから、一貫してダークテーマを基調としたハイコントラストな配色で防災情報を伝えてきました。このインターフェイスは、多くのユーザーから好評をいただいていますが、アプリのユーザー層が広がるにつれて、ライトテーマを実装してほしいという要望も数多く寄せられました。 私たちは、2021 年 9 月から社内で「シン・テーマ」と呼ばれる新しい配色の設計をはじめました。白い砂浜

    「特務機関NERV防災」アプリ、アクセシビリティ機能を大幅強化 | ゲヒルン株式会社
    mizdra
    mizdra 2022/09/01
    すごい気合入ってる
  • altは入ってれば良い訳じゃない!?alt勉強会を開催|sawa / swnjp

    というわけで、今回は画像のaltについて社内勉強会を行ったので共有していきます。今回もアクセシビリティアドバイザーのfreee 伊原さんに協力いただきエンジニア・デザイナー向けの勉強会を開催しました。 当日の勉強会資料 勉強会資料を確認 なぜやったのか前回の勉強会では虚空ボタンの怖さを知ってもらい、実際にエンジニアの方に160以上の虚空ボタンの修正に関わってもらいました。が、虚空ボタンの撲滅は達成できたものの、アクセシビリティチームでは新たな課題にぶつかりました。 チームでは、alt入力の自動チェックとしてlinter(機械的に判定して、開発時に未入力を防げる仕組み)の導入を検討していましたが、、、Vueファイル150相当のaltエラーを検出しました。 エラーそのものの修正はチーム内で行えるが、新しいエラー対象を増やさないためにエンジニアやデザイナーへの意識の浸透が必要となり、今回の勉強会

    altは入ってれば良い訳じゃない!?alt勉強会を開催|sawa / swnjp
  • クリッカブルなボタンとWAI-ARIAのrole=”button”について

    前提知識として以下が必要です。 リンクのようなボタンを作る: Days on the Moon javascript scheme でボタンを作るのは ? | ヨモツネット clickイベントに使うためだけにtextとか(下の例の1,2番目)やるのが嫌いで、どうやるのがスマートorシンプルなんだろと思って書き出したもの。input、button 要素がでてこないのはスタイルシート考えるのが面倒で何となくです。button要素をCSSでリンクのようなデザインにできるならそれでもいいじゃないでしょうか。 クリッカブルなボタンとRoleのデモ 1番目は今時ない気がするし、1,2番目は状態が遷移しないのにhref指定してると、ミドルクリックなどで別のページとして開けたりしちゃうのでそれを抑制するコードも必要になるのが何か嫌で、3番目当たりが個人的には好きだった。(4番目は何か気持ちわるい) <di

    クリッカブルなボタンとWAI-ARIAのrole=”button”について