1 ポイント 投稿者 GN⁺ 2023-08-03 | 1件のコメント | WhatsAppで共有
  • 大規模言語モデルベースのAIが広がるにつれて、人が見る画面と同じくらい、機械が読めるセマンティックHTMLの価値も高まっている
  • 大手ソーシャルメディアの囲い込み型プラットフォームはデータ移動と相互運用性を妨げ、fediverse・Threads・Blueskyのような分散型の試みも一般ユーザーを引きつけるには動機が弱い
  • 現代のHTMLは <details><dialog>、さまざまな <input> のように、Webアプリに必要な基本UI要素をすでにかなり備えている
  • ブラウザのデフォルトスタイルやreader modeを活用すれば、過剰なCSS・JavaScript依存を減らせ、適切なタグは機械可読性とモバイル入力体験を改善する
  • RSSが今も生き続けており、ChatGPT系インターフェースがデータアクセス手段として浮上している流れでは、広告中心のインターフェースよりも構造化されたHTMLのほうが実用的な基盤になりうる

Webの基本データインターフェースとしてのHTML

  • 大規模言語モデルベースのAIの登場は、セマンティックHTMLの重要性を再び押し上げている
  • インターネットの本質は、人が世界と相互作用するために必要なデータを届けることだが、HTML/CSS/JavaScriptの自由度はデータアクセスを制限する側面も持つ
  • 大手テック企業のソーシャルメディアは、公開されアクセス可能なデータ形式やAPIよりも、閉鎖型プラットフォームの中にユーザーを囲い込んでいる
    • プラットフォーム間の相互運用性は事実上難しくなっている
    • 企業が簡単なデータ移行を嫌がることで、問題はさらに複雑になっている
  • 最近のソーシャルメディアの不安定さは、fediverse のような分散型プラットフォームへの関心を再び高めている
    • MetaのThreadsとJack Dorseyが作ったBlueskyは、より大きなfediverseとの相互運用性を打ち出している
    • ただし一般ユーザーは、こうした理由だけで新しいソーシャルメディアを選ぶことは多くない
  • すでに実証済みの解決策として、HTML を見直す必要がある
    • 過去には、ブラウザでHTMLコンテンツが見栄え悪くならないようCSSを多用する必要があった
    • 今では最新のHTML要素が多数追加され、現代的なWebアプリケーションに必要なUI要素の大半を提供している
    • reader modeはスタイリングに費やした時間を無効化しうるが、これは前向きに捉えられる
  • 正しいタグは機械が読みやすい形式を提供する
    • 単にデザイン時間を節約する以上に、現代HTMLを採用する強い理由になる
    • RSSは生き続けている
    • ChatGPTのようなインターフェースが、人がデータにアクセスする将来の方法になる可能性もある

便利、または新たな見方ができるHTML要素

  • MDNのHTML要素一覧は一見の価値がある
    • 以下の例は別途スタイルを付けず、ブラウザのデフォルトスタイルだけを使っている
    • ブラウザによって見え方が大きく異なったり、まったくサポートされないこともある
  • <abbr>: 略語を囲む要素
    • スタイルを適用して強調できる
    • 主に機械可読の面で有用
  • <datalist>: 入力候補の一覧を提供する要素
    • タイプアヘッドのようなUIを作れる
    • 組み込み検証はないように見える
    • Safariでは option タグを閉じる必要があり、閉じないと動作しない
  • <details>: 開閉型の公開要素
    • 小さなドロップダウンのように使える
    • スタイリングもかなり強く適用できる
  • <dialog>: ダイアログ要素
    • ボタン、フォーム、属性、JavaScriptで開閉できる組み込み要素
    • 正確にはモーダルと同じではないが、モーダルを作るなら土台として使える
    • 後続の要素の上にレンダリングされるようだ
  • <i><em>
    • 2つの要素の違いを知っておく必要がある
  • <iframe>
    • 例示一覧には含まれているが、冗談めかして扱われている
  • <input>: フォーム入力要素
    • 入力には適切なラベルと型を使うべき
    • モバイルでは文脈に応じてOSが異なるキーボードを開くため、入力タイプの指定が重要
    • 時間関連の入力が多様なので、別途JavaScriptのdate pickerを減らせる
    • 例として colorrangedatetime-local 入力が挙げられている
  • <mark>: テキストのハイライト要素
    • デフォルトではSafariで黄色のハイライトとして表示される
  • <meter>: 測定値表示要素
    • Safariでは設定したパラメータに応じて赤・黄・緑で表示される
    • optimum 値を設定できる
    • 60fpsの音楽ビジュアライゼーションデモに役立つかもしれない
  • <progress>: 進捗表示要素
    • 固定値または不確定状態を与えられるネイティブHTMLの進捗バー
    • Safariではウィンドウがアクティブなとき青、非アクティブなとき灰色に見える
    • デフォルトではシステムのアクセントカラーに従い、CSSの accent-color プロパティで設定できる

1件のコメント

 
GN⁺ 2023-08-03
Hacker Newsの意見
  • HTMLがクローズドなエコシステムへのロックインの解決策だというのは変だ。そうしたクローズドなサービスもすでにHTMLを使っているし、言及されているセマンティック要素の一部や、より精緻なARIAのセマンティック属性も使っている。
    ChatGPTのようなインターフェースが人間のデータアクセスの未来だという主張についても、AIシステムの要点は、入力を処理するために特別な「機械可読」注釈を必要としないところにある。ChatGPTや後続モデルは人間のように一般的なWebサイトを探索できるし、段落のまとまりが「リスト」かどうかも明示的なマークアップなしに気づける。
    筆者が説明しているものは、結局HTMLのセマンティック要素を介したAPIに近い。だがAPIがあるなら、自動的なデータアクセスに大規模言語モデルは必要なく、Beautiful Soupを使う普通のPythonスクリプトで十分で、ローカルだけで実行できるという利点もある。

    • これはかなり過小評価しているように思う。「HTML」もあれば、ユーザーが10秒間読み込もうとした後でようやく最終的なDOMが決まるWebサイトもある。その両極端の間には、ブラウザ機能をどれだけ使う必要があるかという点で大きな差がある。
      結局、良し悪しを分けるのは実装の複雑さだ。どんな道具でもうまく使うことも下手に使うこともできるし、初心者が丸ノコと充電済みバッテリーで大事故を起こすこともある。職人は道具をまったく使わず、横を叩く、つまりビジネス要件に逆らう選択をすることもある。
      最近作ったWebサイトは、自分が作った中で最も互換性が高い。もうWebSocketは使っておらず、JavaScriptがサーバーと細切れにやり取りする方式にも依存していない。JavaScriptを完全にオフにしても、製品の約80%を使える。こうしたエンジニアリング上の選択が、どうしてクローズドなエコシステムへのロックインに対する解決策ではないと言えるのかわからない。
    • 「ChatGPTや後続モデルは人間のように一般的なWebサイトを探索できる」というのは、まだ事実というより主張に近いように見える。それでも可能だとすれば興味深い。
      大規模言語モデルはテキストやソースコードなどを学習するが、推論装置と呼べるものが乏しい状態でDOMツリーを見て、それが何で何をするものなのか本当に理解できるのだろうか。DOMはテキストでもないし、バンドル化やコンポーネント化の結果なので、よく構造化されたソースコードとも言いにくい。「大規模言語モデルが任意の.exeを見て即座に統合できる」と言うのとほとんど同じに聞こえる。
    • この記事の趣旨は、JavaScript専用のdivの塊の代わりに、またはそれに加えて、HTTP上の機械可読なセマンティックコンテンツを使おうというものだと読んだ。そうすれば、新しい波である大規模言語モデルのような自動エージェントが、ヘッドレスブラウザを立ち上げてページをレンダリングしなくても、重要な詳細を簡単に抽出できる。
      私も似た関心があるが、目的はクローリングと新興検索エンジンだ。すべてのページをインデックスする前にヘッドレスブラウザで実行しなければならないなら、新しい検索エンジンの参入障壁はずっと高くなる。
    • 妥当な指摘だ。皮肉なことに、セマンティックマークアップの主な利点は今や、人間の開発者がスタイリングや制御をしやすくするための抽象化になったように思う。
    • 本当にChatGPTはそんなことができるのか?実際にそうしているのか?
  • この記事の最初の文は「大規模言語モデルベースのAIの登場により、セマンティックHTMLはかつてないほど重要になった」だが、むしろ「大規模言語モデルベースのAIの登場により、セマンティックHTMLはかつてないほど重要でなくなった」のほうが、はるかに擁護しやすい文だと思う。
    セマンティックWebは失敗し、その座を、Googleが当時最高水準のAIを組み込んだ各種ヒューリスティックに莫大な資金を投じるやり方が置き換えた。AIが良くなるほど、適当に作られたごちゃ混ぜからでも情報を抽出する能力は上がり、そうしたごちゃ混ぜで十分なら、人々がかける労力もそこまでだろう。原理的には、最終的にセマンティックWebもヒューリスティックの山も、どちらもAIに置き換えられる。
    最初だけLLMと書き、その後は一般用語であるAIに切り替えている点も重要だ。大規模言語モデルはAI全体ではなく、今ホットな一分野にすぎず、最後のホットな分野でもない。今後数十年を、大規模言語モデルがAIの最終解だと仮定して見通すのはよくない。

    • AIが、セマンティックHTMLとARIAに基づくWebアクセシビリティまで解決すると見ているのだろうか?そうでないなら、Webコンテンツがアクセシブルであることを保証するには依然として人間が必要であり、その場合セマンティックHTMLは引き続き重要だ。
    • 大規模言語モデル以後の検索エンジン最適化がどんな姿になるのか気になる。
      コンテンツの関連部分が十分にうまくインデックスされ、順位に上がることが目標なら、セマンティックHTMLを全面的に採用する動機は足りなかったと言える。
      目標が「順位に上がること」から「大規模言語モデルにコンテンツのニュアンスや質感を最大限抽出させること」へ変わるなら、特定の要素をよりうまく使う動機は強まるかもしれない。そうするWebサイトは、大規模言語モデルの出力により大きな影響力を持てる。
      聞こえるくらい大きな声で話すことと、理解されるくらい明確に話すことの違いのように感じる。
    • schema.orgやWikidata/Wikipediaが、今でもGoogleのリッチ検索結果の大部分を支えているのではないか?
      Bardが入った新しい結果ページを発表したのは聞いたが、広告を無視する習慣のせいなのか、まだ自分の地域に出ていないのか、見た覚えがないので調べてみないといけない。
    • AIは魔法のように感じる。人間のパターン認識能力は、いつもかなり独特で複製が難しいものだと思っていた。Webサイトのごちゃ混ぜを眺め、何らかの形でデータ抽出をするときにその能力を使っている。
      頭の中ではセマンティックWeb陣営に近かったが、機械がそのごちゃ混ぜをそこそこ理解できるなら、わざわざ苦労する必要がどこにあるのか、という話はもっともだ。
    • データ資源を作り、AIにその資源を使わせようとするプロジェクトは本質を見落としている。AI自体がデータ資源なのだ。
      知識グラフや他のデータ資産が、AIが「真の」知識を検索するのに役立つと主張するプロジェクトもある。個人的には、AIが自分のデータ資産を作れるようにする方法を開発するほうがよいと思う。ニューラルネットワークの重みもそうした資産の一つだ。
      真実の問題は依然として非常に難しい。ある知識が別の知識より信頼できるとAIにどう知らせればよいのか?もちろん人間にも同じ問題がある。
  • これらの HTML 要素の大半はほとんど聞いたことがなく、かなり残念に思った。こうしたものは、「何にでも JavaScript が必要」というエコシステムを終わらせるのにかなり役立ち得るからだ。
    少なくとも JavaScript を本来の意図に近い位置、つまりちょっとした装飾やインタラクションを加える手段へ戻せる。すべてのマークアップの代替であり、DOM 全体の管理者である必要はない。
    自分が夢見るブラウザは、visurf https://sr.ht/~sircmpwn/visurf/ のような形で、内部の Netsurf エンジンがこうした要素を含む現代的な HTML+CSS をサポートするよう更新されたものかもしれない。そういうブラウザなら、ほとんど JavaScript のない小さなウェブを作れそうだ。スクリーンリーダー、システムテーマ、ショートカットキーなどを壊しにくくなってアクセシビリティが向上し、代替可能な重い JavaScript の仕掛けよりはるかに少ないリソースで済み、今日の中規模 Web アプリに期待されることの大半も実現できそうに見える。WebGL のようなものは Firefox を起動すればよいが、たとえば Matrix クライアントでも、WebSocket とエンドツーエンド暗号化のために少し JavaScript を載せる程度で済むかもしれない。

    • こうした組み込みコンポーネントの一般的な問題は、テーマ適用が難しいことだ。モダンなアプリの真ん中に Windows 7 風のコンポーネントが飛び出してくると、ものすごく気になる。
      拡張性もほとんどないので、少しでも複雑なことをしようとすると結局捨てて JavaScript でやり直すことになる。そうなると最初から JavaScript で始めたほうがよく、そちらはうまく動き、完全な制御権を与えてくれ、すべてのシステムで同じように動作する。
      結局、こうした追加コンポーネントは、すべてのブラウザが実装しなければならないのに誰も使わない肥大化要素として残る。
    • datalist を初めて見たときは「すごい、ゲームチェンジャーだ」と思った。動作はブラウザ間で同じだが、見た目は完全にブラウザ依存で、CSS でスタイル指定できない。
      あるときはデータのテキストだけが表示され、あるときはテキストと value 属性が一緒に表示される。そのため「Atlanta」を選ぶのではなく、「234290780 Atlanta」、つまり ID と値を一緒に選ぶことになる。
      クリック時の動作でも ID だけを直接取得できず、全体を取得して ID をパースしなければならない。単なる放置された要素のように感じる。
    • これは気に入るかもしれない: http://youmightnotneedjs.com/
    • 全体の趣旨に反対しているわけではないが、これらの要素はずっと前から存在していた。HTML 批判が真剣に受け止められるには、基本は知っておくべきだと思う。
      記事は MDN にリンクしていて、MDN は短いリファレンスとしては最も有用な部類だ。もちろん WHATWG HTML 仕様もあるし、あまりに膨大なら WHATWG HTML 2021・2023 スナップショット用の SGML DTD 形式の文法や、以前の HTML 5.x 系の文法もある。
      [1]: https://sgmljs.net/docs/html200129.html
    • https://qutebrowser.org
  • セマンティック Web を信じたいし、ブラウザが優れた標準モジュールとそこそこよいデフォルトスタイルを提供できると信じたいが、今はそうではないことを受け入れるしかない。
    input にラベルを付けるだけでも、なぜ属性ではないのかから考えなければならず、ラッパーとして使うべきなのか、for= 属性を持つ兄弟要素にすべきなのかも確信しにくい。これは氷山の一角にすぎない。各タグごとに開発の歴史を丸ごと学び、現在の正しいやり方が何なのかを調べ直さなければならない。
    いいものを持てたかもしれないが、もう落ち着いて手放すべきなのかもしれない。

    • どんなツールを使っているのか分からないので特定の人に向けた話ではないが、Web 開発者が React や Tailwind などを学ぶのに費やす時間の一部だけでもHTML の学習に使っていれば、Web はずっとよい状態になっていたはずだ。
      確かに変な部分や荒削りなところはあるが、すべての Web 開発者がセマンティック HTML を最大限活用できていたなら、ブラウザ上の JavaScript ははるかに少なく、アクセシビリティのバグも減り、仕様がこうした奇妙な点を修正したり置き換えたりする必要があるときに、より多くの目が向けられていた可能性が高い。
    • 入力ラベルが HTML 属性だったら、フォームははるかに柔軟性の低いものになっていただろう。2つの視覚要素を1つにまとめることになり、表示の調整が難しくなる。たとえば、左側に右揃えのラベルが付いた入力欄や、右側にラベルが付いたチェックボックスを考えればよい。
      label 属性はプレーンテキストの内容を意味するはずで、制限が強すぎるように見える。
      HTML は数十年使われてきたものらしく、複雑な歴史と複数の層を持っている。それでも最近は大きく変わっておらず、MDN のおかげで HTML5 で何が可能かを十分に学び、必要なときにさらに掘り下げるのは簡単だ。
    • 自分の場合、ほとんどいつも label タグを input タグの後ろに置きたくなる。そうすれば CSS の擬似クラスで、入力状態に応じてラベルを選択してスタイル指定できるからだ。
    • 各タグの意味を学ばなければならないというのは、どんなセマンティックなタグ付けシステムでも本質的な部分だ。その考えが嫌なら、セマンティック Web という発想そのものと根本的に合っていない。
      もちろん、どんな出版システムでも、実際にはどんなシステムでも、効果的に使うには提供されている基本要素の使い方を学ばなければならない。だからこれはセマンティック Web だけの問題ではない。
  • Go の HTML テンプレートのデバッグに details をよく使う。
    {{if .DevMode}} で開発モードのときにデータを入れておくと、折りたたまれている間はページを大きく壊さず目立ちにくく、必要なときに開けば全体を見られる。

    • 可能なら details 要素を少し乱用している。とてもすっきりしているのに、なぜもっと使われないのか分からない。
    • Web ページで折りたたみ可能なメニューなど、いろいろな用途に使える。
      GitHub Markdown でも使えるし、例やインライン説明に使っている人もいる。
  • 読み物としてもインタラクティブなデモとしても良かった
    Flutterを数年触ったあとで、また同じ結論にたどり着いた。HTMLに賭けるべきだ
    Astro / Tailwind / Daisy UI / Alpine.js の組み合わせは、シンプルなサーバーサイドレンダリングを多用し、クライアント側のリアクティビティを少し振りかけたHTMLサイトを作るのに向いている
    成果物はシンプルでまともなHTMLファイルで、デスクトップWebブラウザでもモバイルのラップされたWebViewでも見栄えがよく、きちんと動く。自分のアプリは実質的に静的なのでCDNにキャッシュされ、オフラインでも動作し、ソース表示がデバッグを楽にしてくれる

    • いくつもの派手なフレームワークやプラットフォームを試した末に、結局同じようにAlpine.jsとTailwindを使う静的サイトに行き着いた。今までにした決定の中で断然最高だった
      一番良いのは、新しい開発者がReact、Angular、PHP、Pythonのどの出身であっても、100行のビルドファイルを3分ほど見れば理解できると確信できること。本当にシンプルで良い
    • FlutterでWebに出力するのは悪夢に近いと思う。最後に確認したときはレンダリングがキャンバス上で行われていて、マークアップはまったくなかった
    • Daisy UIの効用を理解できるように助けてもらえる?昔ながらのクラス+スタイルシートを、Tailwindという追加ステップを経由して使っているように見える
    • その通り。Astroとアイランドアーキテクチャは作業していて本当に楽しい
  • セマンティックWebの問題は、どれだけ簡単になっても開発者が正しく使うことを拒む点にあると思う。自分のブラウザ拡張機能がmainタグを使うので、このタグを注意して見てきたが、MDNのドキュメントは何をすべきかが非常に明確で、ドキュメント自体も良い使用例を示している。それなのに、正しく使っているサイトはごく少ない
    それどころか、見栄えのするプロ向けサイトでさえ、ナビゲーションやフッターのようなものまで含めたページ内の全コンテンツをmainタグの中に包んでいることがある。このタグはページの主要コンテンツにだけ使うべきだ
    これほど単純な要素すら正しく使えないなら、他の要素にはあまり期待できない

    • HTTP動詞を間違って使う開発者たちと同じ類いだ
      こういうものを契約であるかのように見せかけるべきではない
    • pタグを段落に使った開発者は、文字通り全員が正しく使っている。class="card"のようなものとは違う
      技術理解の高い人たちが、こんなにも多くセマンティックWebの無用さや失敗を嘆くのが理解できない。「自動車が成功してほしい、長距離移動が楽になるのに」と言っているように聞こえる
    • まず思い浮かぶ解決策は、より厳格な検証だ。構造が正しくなければブラウザがレンダリングを拒否する、という方式だ
      だが、そういう時代はあった。HTML4以前のものは概ねそうで、それはもっとひどかった
      だから、開発者ツールが誤った使い方に対して警告やエラーを出す方向のほうがよいのかもしれない
    • 正しく使うインセンティブがまったくない。自分も正しく使おうとしているが、各要素が何であるべきかを決めるのに時間を使ったこと以外、違いはまったくなかった
  • ここにある多くのコメントがこの記事を反JavaScript記事として見ているのが興味深い。自分にはむしろ、現代的なエンタープライズアプリのフロントエンドで使っているTypeScript中心のフレームワークと併用すると、とても有用なツール群に見える。HTMLネイティブのツールなので、あれこれ多くを要求しないからだ
    例えばmeterタグは、今日出社したらReactで使っているすべてのローディングモジュールを置き換えることになりそうだ。今使っているものよりずっと良いからだ
    自分が人々を誤解しているか、記事を読み違えているのかもしれないが、今日の大規模アプリケーションのようにフロントエンド全体がほぼTypeScriptである場合でも、これは非常に興味深い

    • 自分の願いは、こうしたものが巨大なJavaScriptコードの塊を置き換えることだ。JavaScriptのないWebは残念ながら幻想だと分かっているが、少なくとも大きな塊を取り除き、システムが導き形作ることのできる、より標準的なユーザー体験を作れる
      以前よりはるかに少ないJavaScriptでも作れる新しいアプリケーションが出てくる。既存のエンタープライズTypeScriptアプリではインプレースアップグレードになるかもしれないが、希望としては、新しいアプリ開発でそうしたエンタープライズフレームワーク自体を避けられるようになることだ。夢くらい見てもいいだろう?
  • Web開発を完全にこき下ろしたいわけではないが、本当にひどい。生のHTMLからスクリプト言語、フレームワークまで何年もやってきたけれど、たいしたことのない作業にかかる時間が、ものすごい脳の無駄遣いに感じる
    休暇に行ったとき、食べたり飲んだりする場所や、1日立ち寄る場所を探したかっただけなのに、ほとんどのサイトはめちゃくちゃだったり古かったり、更新されていなかったりした。一度作って忘れられたサイトがまだたくさんある。予算が厳しくて更新する余裕がないか、更新が技術的に難しすぎるのだと思う
    サイトの複雑さが麻痺を招いている。単純なテキストと画像の数ページで済むものが、無駄に過剰設計され、膨大なCPUサイクルを燃やしている。セキュリティ更新が必要な既製のCMSを改造して作っている可能性も高い
    最近、映画館のサイトを見たのだが、その週に上映している数本の映画をざっと見ることすらほとんど不可能だった。スプレッドシートに入れたほうが読みやすいと感じたし、実際にAPIからJSONを落として見てみると、そのほうが読みやすかった
    たいていは豚に口紅を塗ったような、疲れる包装にすぎない。Facebookが成功した理由の1つはオンボーディングが簡単だったことで、もう1つは写真共有が簡単だったことだ。WhatsAppやInstagramも同じ。公開は簡単であるべきだ。単純なFTPも簡単ではあるが、普通の人にとっては使い勝手の流れに奇妙な断絶がある。人々が求めているのはドラッグ&ドロップ、アップロード、置いて忘れること、簡単な編集だ。データを消費したい人たちは結局、核心だけを求めている。つまりデータそのものだ

    • データを消費したい人たちが核心となるデータだけを求めているとは思わない。平均的なHN読者ならそうかもしれないが、平均的な人は違う
      人々が求めているのは、きちんとスタイリングされ、使いやすいWebページだ。問題は、有能で効果的なユーザー体験デザイナーが十分におらず、会社のステークホルダーにもまともなUX感覚が不足していることだ
      そのため、平均的な会社が用意できる中途半端なUXよりも、核心となるデータだけを提供するほうが平均的なユーザーにとって良い、という状況になっている。好まれないとしても、そのほうがましだからだ
      {悪いUX} << {生データ} < {良いUX}
      WordPressが見つけた回避策は、プロフェッショナルなスタイルやテーマを作り、ユーザーが購入して適用できるようにすることだった。だが、ステークホルダーの悪趣味までは解決できない
      Facebookは、プロフェッショナルで標準化されたUXを強制したから成功したのだと思う。{人々のデータ} + {プロフェッショナルで標準化されたUX} = {勝利}だ。初期のFacebookのUXが嫌いだとしても、素人仕事だったとは言いにくい。MySpaceやGeocitiesなどに対する一般的な認識はその逆だった
    • WhatsAppに触れた部分が核心を突いている。私がいるアフリカの国ではWhatsAppがあまりに人気なので、携帯通信会社がWhatsAppデータバンドルまで売っている
      金網のようなものを探したければ、自分が入っているWhatsAppグループ、家族・近所・高校の友人グループから尋ねる。たいていいくつか番号をもらい、サービス提供者にWhatsAppで連絡すれば最新情報が得られる
      そのサービス提供者たちは、最新のWebサイトを維持する余裕がない。WhatsAppにはプロフィールにカタログを載せる機能もあり、無料のビジネスアカウント向けだ
    • だから、ほとんどの小規模事業者にはWixを勧めている。サイトがどれも似たように見えるか? そうだし、必ずしも悪いことでもない。使いやすく更新しやすいので、顧客は必要な最新情報が得られることをありがたがる
      見たいのは「Wix Widgets」のようなものだ。RESTサービス呼び出しをつなぎ、データポイントをウィジェット表示にマッピングする程度のカスタマイズができる、データ接続型のウィジェットだ。最近どの会社にもある社内向けWebサイトの需要をさばくのに、かなり役立つはずだ
      Webページの90〜95%には、単純な解決策が本当に必要だ
    • Webプラットフォームは最良で一貫性のあるクロスプラットフォームGUIシステムだと言われる一方で、そのシステム上で何かを作るのはひどい、というのは笑える
      もしかすると、これがGUIの本質なのかもしれないとも思う。すべての指示を一つひとつ出さなければならず、多くのサイクルを食い、そうしないとクロスプラットフォームで動かない構造なのかもしれない
    • この問題の一部は、HTMLファイル内のタグや要素が増え続けていることにある。ドキュメントのマークアップではなくページのマークアップになってしまい、どこで一方が終わり、もう一方が始まるのか区別しにくい。W3Cがarticlesection要素を追加して試みたとはいえ
      もちろん、生のHTMLコードはそもそも開発者以外の人が読むために作られたものではなかっただろうから、そういう面もある
  • 純粋なHTMLモーダルができたという知らせに本当に期待したが、JavaScriptなしではトリガーする方法がないと知って失望した。純粋なHTMLでは閉じることしかできず、開けない
    https://github.com/whatwg/html/issues/3567
    dialog要素は素晴らしい追加で、実装されているのはうれしいが、コア機能の一部がJavaScriptに依存している。dialogを開くには、JavaScriptでopen属性を設定しなければならない
    buttona要素がダイアログを開ける方法があるといい。HTMLに組み込まれたページ内インタラクションの前例はすでにある。たとえばリンクはページをスクロールできるし、details要素はインタラクションの後ろに要素を隠せるので、別のページ要素がdialogを開けても自然に見える

    • 「HTMLだけ」という高尚な目的が、HTMLにスクリプティング機能を拡張すべきだという意味なら、よく分からない。そういう場合なら、普通にJavaScriptを使ったほうがいいと思う
    • JavaScriptなしでも、HTMLとCSSだけでモーダルを実装できる
      たとえば、ここの右上にある?をクリックしてみるといい: https://aavi.xyz/proj/colors/
    • HTML自体に組み込まれるとよいが、少なくとも必要なJavaScriptは複雑ではなく、onclick属性に入れることもできる
    • 現在のハッシュに応じて表示・非表示にできる。もちろん、その方法にはCSSが必要ではある