タグ

htmlに関するigrepのブックマーク (170)

  • GoogleのUI生成AIツール「Stitch」を試してみた | DevelopersIO

    こんにちは!運用イノベーション部の大野です。 最近ひょんなことから知り合ったカナダ在住エンジニアの方に、「UI作成ならStitchが便利」というお話を伺いました。 ...が恥ずかしながら「Stitch」について全くの無知だったため、軽くですが実際に触って確かめてきました。 今回はその感想を共有させていただきます。 Stitchってなんだ? Stitchとは、Google Labs提供のUIデザイン生成支援用AIツールです。 2025年5月に行われた「Google I/O 2025」にて発表されました。 自然言語や画像を入力として与えることで、AIによってWebやモバイル画面のUIを生成してくれる機能を持っています。 また、生成したUIHTMLコードとして表示することや、Figmaに直接エクスポートすることが可能です。 UI生成可能なAIツールは他にも多数存在しますが、以下の点においてSt

    GoogleのUI生成AIツール「Stitch」を試してみた | DevelopersIO
  • a11y 上の理由で Deprecated になった HTML と ARIA まとめ

    こんにちは、フロントエンドエンジニアの mehm8128 です。 今回は敢えて、a11y 上の理由から Deprecated になった HTML と ARIA をまとめてみようという記事です。 Deprecated の定義 今回 "Deprecated" は、基的に MDN において Deprecated の表示があるものを指すこととします。ただし、MDN からも既に削除されているものについては例外となります(= Deprecated の表示がないけど今回の定義に含みます)。 MDN の "Deprecated" 表示については以下のページに記載されています。mdn/browser-compat-data からデータを参照しているので、mdn/browser-compat-data のドキュメント も参照されています。 また、今回は主に a11y 上の理由で Deprecated になっ

    a11y 上の理由で Deprecated になった HTML と ARIA まとめ
  • 最近のCSSを改めてちゃんと学んでみた

    弊社ではデザイナーがCSSを書いてくれるので、私はフロントエンドエンジニアながら最近はTypeScriptばかり書いていました。 しかし、フロントエンドエンジニアならCSSもしっかり学んでおかないといけないと思い、アウトプットついでにこの記事を書いています。 1. モダンCSSの現状と進化 2019-2024年に標準化された主要な機能 2019年以降、CSSには多くの革新的な機能が標準化され、JavaScriptに頼らずに実現できることが増えました。 レイアウト関連: コンテナクエリ - 親要素のサイズに基づくレスポンシブデザイン CSS Grid(サブグリッド) - ネストされたグリッドが親グリッドのトラックを継承 CSS ネスト - セレクタを入れ子構造で記述(Sassのような書き方) セレクタと制御: 親要素セレクタ (:has) - 子要素に基づいて親要素を選択 カスケードレイヤー

    最近のCSSを改めてちゃんと学んでみた
  • Invoker Commands APIのイベントのまとめ

    <dialog>、Popover、Invoker CommandsがHTML標準で整いつつあります。JavaScriptを書かずにHTMLだけでインタラクティブなUIを作ることができるようになっていっているわけですが、それでもイベントをフックして何かしらの処理を実行したいことはあります。これらのUIのイベントはいくつか種類があるので、それぞれのUIや呼び出し方法に対応するイベントをまとめてみました。 前提 <dialog> <dialog>はHTML標準のダイアログUIです。このダイアログUIはモードレスダイアログとモーダルダイアログの2つのモードがあります。モードレスダイアログはopen属性を付与することで表示されますが、モーダルダイアログはshowModal()メソッドを呼び出すことで表示されます。つまりこれまではモーダルダイアログを開く手段はJavaScriptを使うしかありませんで

    Invoker Commands APIのイベントのまとめ
    igrep
    igrep 2025/03/13
  • <label>で<button>を囲んでいるときにclickイベントが2回発火する問題の原因と対策

    皆さんこんにちは。今回は、最近筆者が遭遇した、<label>で<button>を囲んでいるときにclickイベントが2回発火することがある問題について解説します。 さっそくですが、こちらのCodePenをご覧ください。 ここでは、0と書かれたボタンが表示されています。このボタンは1回クリックすると数字が1増えるように実装されています。 しかし、ボタンに表示されている数字をクリックすると、数字が2増えてしまいます。これは、clickイベントが2回発火しているためです。それ以外の部分(ボタンの端や、ラベル)をクリックした場合は数字が1増えます。 実装のHTMLJavaScriptは以下のとおりです。 <p>数字をクリックするとonClickが2回発火する!!!</p> <div> <label> ラベルのテスト <button type="button"></button> </label>

    <label>で<button>を囲んでいるときにclickイベントが2回発火する問題の原因と対策
    igrep
    igrep 2025/01/07
  • Go言語で、html テンプレートエンジンを使わずに済ませる方法

    この記事は、Go Advent Calendar 2024 シリーズ2 6日目の記事です。 はじめに Go で、Web サーバーアプリケーションを開発する場合、Routing は標準ライブラリもかなり便利になり、DB アクセスについても、それぞれの目的や好みにに合わせて選択肢があると思います。それでも、Go が Web アプリケーションを作成することに向いていないという評判があるように思います。これは、いろいろある html テンプレートエンジンに機能が足りないということではなく(htm/template などはそれだけで一つの言語システムと言ってもいいと思います)、使い心地が、Go を使いたい理由にうまくあっていないことだと思います。 そこで、思いついたことがありますので書こうと思います。 golang.org/x/net/html パッケージ この準標準パッケージは、html を パー

    Go言語で、html テンプレートエンジンを使わずに済ませる方法
  • テキストをコピペするときにスタイルごとコピーされちゃうのってどんな仕組み? - Qiita

    概要 文章をコピペしてエクセルに張り付けたときに、画面のスタイルもコピーされてしまって困ったことはありますか?ありますよね! (↓こんな感じ) 私もよくやってしまうのですが、実際にどのような処理が行われているのかよく分かっていませんでした。理解を深めるためにも、自分で実装して謎を解いていきたいと思います。 3つパターンの処理を実装 比較のため、プレーンテキスト・HTMLテキスト・リッチテキストのコピー機能をサンプルプログラムを実装してみました。 (リッチテキストのコピーが、範囲選択してコピペしたときと同じ機能を想定しています。) HTMLファイル 画面表示されるHTMLは下記のような感じです。各コピー処理でid="message"の部分を固定でコピーするようにします。 <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"

    テキストをコピペするときにスタイルごとコピーされちゃうのってどんな仕組み? - Qiita
    igrep
    igrep 2024/12/04
    前からうっすら気づいてたけどやっぱりデフォルトではインラインのスタイルを設定したときに発生するのか
  • GitHub - yashrajbharti/progressive-motion-blur: W3C, CSS WG draft: Progressive Motion Blur visualiser using HTML Canvas API

  • Dialog と Popover #10 | blog.jxck.io

    Intro ここまで解説した仕様を踏まえ、いくつかの代表的なユースケースの実装について考えていく。 あくまで仕様の組み合わせ方についての解説であり、実装そのものの推奨ではない。 また、ここで紹介する仕様はまだ変更の可能性があり、かつ実装も揃っていないものがある点に注意 Tooltip 今回は、Menu の実装を考えてみる。GitHub でいうとこの部分だ。 元となるボタンによって表示され、このボタンからの相対位置で調整されるため、Anchor Positioning を活用することになる。非常によくある実装パターンだ。 HTML の仕様にも、類似の実装が Example として掲載されている。 6.12 The popover attribute https://html.spec.whatwg.org/multipage/popover.html#the-popover-attribut

    Dialog と Popover #10 | blog.jxck.io
  • Dialog と Popover #5 | blog.jxck.io

    Intro このあたりから、まだ議論中の話が多いため、今後変わる可能性が高い点に注意。 popup が紆余曲折を経て popover 属性になり、2023/3 に Safari が TP166 で実装した。そのまま Safari 17 に入ることを 2023/6 の WWDC で発表したあたりから、popover の実装は各ブラウザで一気に話が進む。 Release Notes for Safari Technology Preview 166 https://webkit.org/blog/13964/release-notes-for-safari-technology-preview-166/ News from WWDC23: WebKit Features in Safari 17 beta https://webkit.org/blog/14205/news-from-wwdc

    Dialog と Popover #5 | blog.jxck.io
  • Dialog と Popover #4 | blog.jxck.io

    Intro ここまでで <dialog> 要素が標準化され、Modal/non-Modal な Dialog がネイティブで出せるようになった。 今まで自前で実装していた z-index の指定や、フォーカスの管理、非活性化、キーボードでの処理、スタイルなども、細かい仕様がほぼ標準によってカバーされた。 Top Layer inert :modal / ::backdrop CloseWatcher Focusable Scrollers etc しかし、<dialog> はあくまで「ユーザのインタラクションを求める」という用途で使うものであり、role=dialog ではない、例えばちょっとしたメッセージの通知などに使うものではない。 そこで、これらの資産を活用し、より汎用的な UI を標準化しようという話が、<dialog> の標準化の裏で並行して行われた。 Toast 最初の目立った

    Dialog と Popover #4 | blog.jxck.io
  • Dialog と Popover #2 | blog.jxck.io

    Intro showModalDialog() は今から考えれば、確かにひどい API だった。 しかし、何か Modal を開き、ユーザにインタラクションをさせ、閉じたらそこで入力された値や選択された結果を取得し、処理を進めたいユースケース自体は、規約への同意取得や、Cookie バナー、ログインなど多々ある。 そういった場面では、ライブラリなどを用いて実装する必要があったが、Modal を実装するのは実際にはそんなに簡単ではなかった。 Modal, Dialog, Modal Dialog 最初に、用語を少し整理しておこう。 Modal Dialog Modal Dialog non-Modal Dialog Dialog とは、そもそも「対話」という意味であり、UI の文脈では入力や選択を求める「対話的な UI」のことを指す。 既に実装されている alert(), confirm()

    Dialog と Popover #2 | blog.jxck.io
    igrep
    igrep 2024/09/27
  • display:contents;って何?どんな時に使うと便利なの? - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 先日、display:contents;というプロパティをはじめて知りました。 他のdisplayシリーズと比べるとあまり馴染みがなかったので、今回はdisplay:contents;とは何か、どんな場面で使えるのかについて紹介します。 1. 結論 display:contents;を指定した要素は、あたかも存在しないかのように扱うことができる これにより、グリッドレイアウトやレスポンシブデザインを作成する際に便利に活用できる ただし、アクセシビリティに課題が残るため、慎重に使用する必要がある 2. display:contents;

    display:contents;って何?どんな時に使うと便利なの? - Qiita
    igrep
    igrep 2024/09/04
    全然知らなかった。ありがたい。
  • 新たなWebブラウザ「Verso」など: Cybozu Frontend Weekly (2024-08-20号)

    こんにちは!サイボウズ株式会社フロントエンドエンジニアのdaiki(@k1tikurisu)です。 はじめに サイボウズ社内では毎週火曜日にFrontend Weeklyと題し「一週間の間にあったフロントエンドニュースを共有する会」を開催しています。 今回は、2024/08/20のFrontend Weeklyで取り上げた記事や話題を紹介します。 取り上げた記事・話題 feat(next): next.config.ts by devjiwonchoi · Pull Request #63051 · vercel/next.js Next.jsの設定ファイルをTypeScriptで書けるようになりました。next.config.tsに設定ファイルを記述することができます。 Using pnpm on Heroku HerokuのNode.js buildpackが、パッケージマネージャの1

    新たなWebブラウザ「Verso」など: Cybozu Frontend Weekly (2024-08-20号)
  • リッチテキストエディター(RTE)のJSライブラリ色々試してみた

    リッチテキストエディタ(RTE)って? リッチテキストエディタ(以下RTE)とは、文字を入力できるだけでなく、文字に装飾を加えたり、段落を設定できたりと複雑な機能を持つエディタのことです。 弊社プロダクトであるkintone内にも以下のようなエディタが存在します。 また、似たものを指すWYSIWYG(読み方:ウィジウィグ)という用語もありますが、これはWhat You See Is What You Get(見たままが得られる)の略であり、編集時と出力時の見た目が同じエディタのことを指します。 Zennやesaのように、Markdown記法で編集したものが変換されて表示されるようなエディタは含みません。 このようにWYSIWYGはRTEより狭義の意味になっています。 WYSIWYGエディタ(Google Docs) WYSIWYGではないエディタ(esa) 独自データモデル VS DOMツ

    リッチテキストエディター(RTE)のJSライブラリ色々試してみた
  • スクリーンリーダーの操作にはTab以外のキーも必要です - Qiita

    macOSのSafariでは、ボタンやリンクにTabキーでフォーカスを移動できないのがデフォルトの設定になっている Safariでは、「設定」画面の「詳細」パネル内にある「Tabキーを押したときにWebページ上の各項目を強調表示」のチェックを入れていないと、Tabキーを押したときにボタンやリンクにフォーカスが移動しません(Optionキーを押しながらTabキーを押すと移動できます)。デフォルトではチェックが入っていない状態になっています。 また、macOS版Firefoxでは、「設定(about:preferences)」内の「タブキーでフォームコントロールおよびリンク間のフォーカスを移動する」にチェックが入ってないと、Safariと同じくボタンやリンクにはTabキーでフォーカスが移動しないようになっています。これはSafariの挙動にあわせて追加されたようで、やはりデフォルトではチェック

    スクリーンリーダーの操作にはTab以外のキーも必要です - Qiita
  • 【React】リッチテキストエディタ(Quill、Tiptap、Slate...)の考え方や前提知識

    概要 4年ほどProductionで使っていたリッチテキストエディタ(Quill on Nuxt.js v2)をTiptap on Next.jsに移行しました。 既存のQuillエディタの使い勝手をTiptapで再現しつつ、改善できるところは改善しつつ、既存の4年分のリッチテキストデータが正しく編集できるようにしなければいけませんでした。 記事では移行の具体的なプロセスを解説しようと思っていたのですが、リッチテキストエディタは前提知識があまりに多いため、前提となる知識や考え方を解説しているだけでそこそこのボリュームになりました。そこで、一旦考え方や前提知識をまとめた、という体で公開します。 記事を読んでから各ライブラリのDocsを読んだりカスタマイズを始めたら、少しハードルが下がっていることかと思います。 対象読者の例 リッチテキストエディタに興味がある リッチテキストエディタの開発

    【React】リッチテキストエディタ(Quill、Tiptap、Slate...)の考え方や前提知識
    igrep
    igrep 2024/08/13
    https://engineering.linecorp.com/ja/blog/uit-ridding-of-contenteditable とか参考になるべくcontenteditable使わずに済ませたいね
  • Declarative Shadow DOMを利用したWeb ComponentsをSSR・CSRで実現する

    Interop 2024のFocus Areasの1つに、Web Componentsがあります。このWeb Componentsに関連する機能として、Declarative Shadow DOMやsetHTMLUnsafe、parseHTMLUnsafeが2024年に入って新たにBaselineに追加されました。 これらの機能・Web APIは、サーバーサイドでの宣言的なShadow DOMの構築によるJavaScriptが無効な環境でも動作するWeb Componentsの実現や、クライアントサイドでの動的なDeclarative Shadow DOMの追加によるWeb Componentsの利用範囲の拡大に寄与してくれています。 今回は、このような盛り上がりを見せるWeb Componentsが、Declarative Shadow DOMやsetHTMLUnsafe・parseHT

    Declarative Shadow DOMを利用したWeb ComponentsをSSR・CSRで実現する
    igrep
    igrep 2024/08/10
  • 空世界 〜HTMLの永遠仕様探訪記、或いは、文字なきsrcにまつわる寥々たる考察について〜

    問題 <img src=""> をブラウザで表示した時、どうなるか知っていますか?わざわざimg要素のsrc属性を空文字列にする機会がないので意外と知らないかもしれません。 もちろん画像は表示されず、(指定していれば)altが表示されます。 img要素のsrc属性を空文字列にすると、リンク切れになることがわかりました!いかがでしたか?(?) そのときHTMLImageElementは JavaScriptでsrcが空文字列のimg要素のDOMインスタンスを確認してみましょう。例として https://zenn.dev/stin を開き、Chrome開発者ツールを使ってsrc属性に空文字列を指定したimg要素を埋め込んでおきます。 そして次のJavaScriptを実行します。 const element = document.querySelector('img[src=""]'); con

    空世界 〜HTMLの永遠仕様探訪記、或いは、文字なきsrcにまつわる寥々たる考察について〜
  • 【HTML】ボタン要素にdisabled属性をつけるのをやめませんか? - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    【HTML】ボタン要素にdisabled属性をつけるのをやめませんか? - Qiita