✨令和時代の CSS 記法再考2023/05/11に公開2024/05/034件CSSHTMLReactアクセシビリティCSS設計techDiscussionvincent.maverick2023/05/12最近の流れとして、CSS in JS はオワコンということで tailwind で書いていますが、className をゴニョゴニョしてユーティリティ化するメリットを見いだせないところにこの記事を拝見しました。いいですね。 WAI-ARIA 属性とカスタムデータ属性、この観点で UI を作り込むことがアクセシビリティとテスタビリティの向上につながる、というのは理にかなっていると感じます。 デザイナーがこの辺りの観点を以てリザルトしてくれることを期待しますね。 平面デザインではなくWebデザインができる方が少ないような気がしています。 *携わるプロジェクトのせいにしてみるw こちらの記事はバニラCSSかくあるべし的な観点でアウトプットされたものと推測します。 知識を蓄積しそれを考察するのは大変有意義だと感じます。 良い時間が過ごせました。ありがとうございました。 okamoai2023/05/14コメントありがとうございます。 CSS の面倒くさいところ(詳細度やスタイルの衝突、依存関係)を一切気にせず、バンバン追加削除しても良いユーティリティ系 CSS にもメリットはあると思いますが、自分も古い人間なので、HTML は文書構造を定義し、CSS は スタイルを定義するといった責務を明確に分ける書き方の方が性に合ってます。 どっちが優れているかというよりは、もう好みの問題な気もしますが… CSS in JS を使っても最終的には Vanilla CSS に変換されるし、React や Vue.js を使っても最終的には HTML が出力されるので、最終的に吐き出される HTML/CSS を意識して書いていきたいですね。 返信を追加ken72532023/05/13記事を読ませていただきました、CSSをよりセマンティックに書くというのはなかなか伝わりづらい考え方かと思いますが端的に内容がまとまっており良い記事だと感じました。 しかしながら、一部気になった点があり書かせていただきます。 極力 WAI-ARIA 属性で表現する WAI-ARIA で表現できないものはカスタムデータ属性で表現する 本文中でこのように述べられておりましたが、アクセシビリティ関連の勉強会では不用意にARIA属性を使わないほうがよい(要素が本来持っているセマンティックを明示的に記述しない)と言われている印象がありその点について注意書きなどがあったほうが良いのではないかと思いました。 また具体例として、このような書き方をしてしまう方が現れるのではないかと思いました。 <input type="checkbox" aria-checked="false"> input[type="checkbox"] { /* ... */ &[aria-checked="false"] { /* :checked で指定したほうがよさそう */ } } このような場合擬似クラスを使ったCSSの書き方のほうが適切なため、最初に述べられていた順位付けの上に擬似クラスで指定できるものは擬似クラスを使用するという項目が入ってくるのではないかと感じました。 私もアクセシビリティに関してはそこまで深い知識があるわけではないため、認識が間違っている場合などもあるかと思いますがご確認頂けますと幸いです🙇♂️ okamoai2023/05/14コメントとご指摘ありがとうございます。 要素が本来持っている属性の役割と重複している WAI-ARIA 属性は使わないことを当たり前の感覚で記事を書いていましたが、確かに文面上から読み取れないので注記と言うかたちで補足を入れておきました。 返信を追加
vincent.maverick2023/05/12最近の流れとして、CSS in JS はオワコンということで tailwind で書いていますが、className をゴニョゴニョしてユーティリティ化するメリットを見いだせないところにこの記事を拝見しました。いいですね。 WAI-ARIA 属性とカスタムデータ属性、この観点で UI を作り込むことがアクセシビリティとテスタビリティの向上につながる、というのは理にかなっていると感じます。 デザイナーがこの辺りの観点を以てリザルトしてくれることを期待しますね。 平面デザインではなくWebデザインができる方が少ないような気がしています。 *携わるプロジェクトのせいにしてみるw こちらの記事はバニラCSSかくあるべし的な観点でアウトプットされたものと推測します。 知識を蓄積しそれを考察するのは大変有意義だと感じます。 良い時間が過ごせました。ありがとうございました。 okamoai2023/05/14コメントありがとうございます。 CSS の面倒くさいところ(詳細度やスタイルの衝突、依存関係)を一切気にせず、バンバン追加削除しても良いユーティリティ系 CSS にもメリットはあると思いますが、自分も古い人間なので、HTML は文書構造を定義し、CSS は スタイルを定義するといった責務を明確に分ける書き方の方が性に合ってます。 どっちが優れているかというよりは、もう好みの問題な気もしますが… CSS in JS を使っても最終的には Vanilla CSS に変換されるし、React や Vue.js を使っても最終的には HTML が出力されるので、最終的に吐き出される HTML/CSS を意識して書いていきたいですね。 返信を追加
okamoai2023/05/14コメントありがとうございます。 CSS の面倒くさいところ(詳細度やスタイルの衝突、依存関係)を一切気にせず、バンバン追加削除しても良いユーティリティ系 CSS にもメリットはあると思いますが、自分も古い人間なので、HTML は文書構造を定義し、CSS は スタイルを定義するといった責務を明確に分ける書き方の方が性に合ってます。 どっちが優れているかというよりは、もう好みの問題な気もしますが… CSS in JS を使っても最終的には Vanilla CSS に変換されるし、React や Vue.js を使っても最終的には HTML が出力されるので、最終的に吐き出される HTML/CSS を意識して書いていきたいですね。
ken72532023/05/13記事を読ませていただきました、CSSをよりセマンティックに書くというのはなかなか伝わりづらい考え方かと思いますが端的に内容がまとまっており良い記事だと感じました。 しかしながら、一部気になった点があり書かせていただきます。 極力 WAI-ARIA 属性で表現する WAI-ARIA で表現できないものはカスタムデータ属性で表現する 本文中でこのように述べられておりましたが、アクセシビリティ関連の勉強会では不用意にARIA属性を使わないほうがよい(要素が本来持っているセマンティックを明示的に記述しない)と言われている印象がありその点について注意書きなどがあったほうが良いのではないかと思いました。 また具体例として、このような書き方をしてしまう方が現れるのではないかと思いました。 <input type="checkbox" aria-checked="false"> input[type="checkbox"] { /* ... */ &[aria-checked="false"] { /* :checked で指定したほうがよさそう */ } } このような場合擬似クラスを使ったCSSの書き方のほうが適切なため、最初に述べられていた順位付けの上に擬似クラスで指定できるものは擬似クラスを使用するという項目が入ってくるのではないかと感じました。 私もアクセシビリティに関してはそこまで深い知識があるわけではないため、認識が間違っている場合などもあるかと思いますがご確認頂けますと幸いです🙇♂️ okamoai2023/05/14コメントとご指摘ありがとうございます。 要素が本来持っている属性の役割と重複している WAI-ARIA 属性は使わないことを当たり前の感覚で記事を書いていましたが、確かに文面上から読み取れないので注記と言うかたちで補足を入れておきました。 返信を追加
okamoai2023/05/14コメントとご指摘ありがとうございます。 要素が本来持っている属性の役割と重複している WAI-ARIA 属性は使わないことを当たり前の感覚で記事を書いていましたが、確かに文面上から読み取れないので注記と言うかたちで補足を入れておきました。
Discussion
最近の流れとして、CSS in JS はオワコンということで tailwind で書いていますが、className をゴニョゴニョしてユーティリティ化するメリットを見いだせないところにこの記事を拝見しました。いいですね。
WAI-ARIA 属性とカスタムデータ属性、この観点で UI を作り込むことがアクセシビリティとテスタビリティの向上につながる、というのは理にかなっていると感じます。
デザイナーがこの辺りの観点を以てリザルトしてくれることを期待しますね。
平面デザインではなくWebデザインができる方が少ないような気がしています。
*携わるプロジェクトのせいにしてみるw
こちらの記事はバニラCSSかくあるべし的な観点でアウトプットされたものと推測します。
知識を蓄積しそれを考察するのは大変有意義だと感じます。
良い時間が過ごせました。ありがとうございました。
コメントありがとうございます。
CSS の面倒くさいところ(詳細度やスタイルの衝突、依存関係)を一切気にせず、バンバン追加削除しても良いユーティリティ系 CSS にもメリットはあると思いますが、自分も古い人間なので、HTML は文書構造を定義し、CSS は スタイルを定義するといった責務を明確に分ける書き方の方が性に合ってます。
どっちが優れているかというよりは、もう好みの問題な気もしますが…
CSS in JS を使っても最終的には Vanilla CSS に変換されるし、React や Vue.js を使っても最終的には HTML が出力されるので、最終的に吐き出される HTML/CSS を意識して書いていきたいですね。
記事を読ませていただきました、CSSをよりセマンティックに書くというのはなかなか伝わりづらい考え方かと思いますが端的に内容がまとまっており良い記事だと感じました。
しかしながら、一部気になった点があり書かせていただきます。
本文中でこのように述べられておりましたが、アクセシビリティ関連の勉強会では不用意にARIA属性を使わないほうがよい(要素が本来持っているセマンティックを明示的に記述しない)と言われている印象がありその点について注意書きなどがあったほうが良いのではないかと思いました。
また具体例として、このような書き方をしてしまう方が現れるのではないかと思いました。
このような場合擬似クラスを使ったCSSの書き方のほうが適切なため、最初に述べられていた順位付けの上に擬似クラスで指定できるものは擬似クラスを使用するという項目が入ってくるのではないかと感じました。
私もアクセシビリティに関してはそこまで深い知識があるわけではないため、認識が間違っている場合などもあるかと思いますがご確認頂けますと幸いです🙇♂️
コメントとご指摘ありがとうございます。
要素が本来持っている属性の役割と重複している WAI-ARIA 属性は使わないことを当たり前の感覚で記事を書いていましたが、確かに文面上から読み取れないので注記と言うかたちで補足を入れておきました。