Skip to content

Safariの新しい版で使えるようになるフォームと表示まわりの指定

Safariの次の版のベータが公開され、58件の新機能と525件の修正が入るとされています。WebKitの発表を読むと、目新しい機能を数多く並べるというより、既存の機能の細かい挙動を揃える作業に重心が置かれているのが分かります。

とはいえ、制作の現場ですぐ効きそうな追加もいくつか含まれています。中小企業のサイトでも出番がありそうなものを、順に並べてみます。

セレクト要素の見た目を組み直せるようになる

フォームのセレクトボックスは、ブラウザごとに見た目が違ううえ、選択肢の並びに手を入れられない部分が長く残っていました。デザインに合わせたい場合、select要素を捨ててdivとJavaScriptで作り直すのが定番の回避策です。

今回のベータではappearance: base-selectに対応し、本来の要素のまま見た目だけを組み直せるようになります。キーボード操作や読み上げ、フォーム送信の挙動は標準のまま残るので、作り直したときに抜けがちな部分を自前で用意しなくて済みます。問い合わせフォームのように、崩れると直接損をする箇所ほど恩恵が大きいところです。

遅れて読み込まれた要素で読む位置がずれない

記事を読んでいる途中で、画面の上のほうにある画像や埋め込みが遅れて表示され、本文が下に押し出される。よくある不快な挙動です。スクロールアンカリングは、こうしたときに表示位置を自動で補正して、読んでいた行を保ちます。

他のブラウザではすでに動いていた機能なので、Safariが加わることで挙動の差が縮みます。ただし、画像に幅と高さを書いておくといった基本の対策が不要になるわけではありません。ブラウザ側の補正はあくまで最後の受け皿と考えておくのが安全です。

見出しをまとめて指定できる疑似クラス

:headingは、h1からh6までをまとめて指す疑似クラスです。これまではセレクタに六つ並べて書くのが普通で、余白や行間を揃えたいだけの場面では冗長でした。

書く量が減るだけの小さな追加に見えますが、見出しの階層が増えたり減ったりする構成では、書き漏らしを防ぐ意味もあります。ブログのように書き手が複数いるサイトでは、想定していなかった深さの見出しが入ることも珍しくありません。

余白まで含めて幅を伸ばすstretchという値

幅や高さの指定にstretchという値が使えるようになります。親の中で余白の分まで含めて伸ばす指定で、これまでcalcを使って余白を引いて調整していた場面を素直に書けます。

あわせてrevert-ruleというキーワードも入りました。そのルールが当たる前の状態まで戻す指定で、後から足したCSSが積み重なって入り組んだサイトの調整に向きます。どちらも派手さはありませんが、既存サイトに手を入れる仕事では出番がありそうです。

画像のsizes属性をブラウザに計算させる

遅延読み込みを指定した画像で、sizes属性にautoと書けるようになります。実際のレイアウト幅をブラウザが測り、srcsetに並べた候補から適したものを選びます。

これまでは画面幅ごとの表示幅を自分で書き並べる必要があり、レイアウトを変えるたびに書き直す手間がありました。書いた値が実際のレイアウトと食い違うと、必要以上に大きい画像を読み込んでしまいます。手作業の当て推量が減るのは、表示速度の面でも助かります。

同じ時期に出たChromeの新しい安定版には、矢印キーでの項目移動を属性の指定だけで有効にできるfocusgroupが入っています。片方は新しい書き方を先に出し、片方は既存の機能の足並みを揃える。方向は違いますが、どちらも自前のスクリプトで埋めていた部分を標準側に寄せる動きです。実務では、対応が片方だけの機能はしばらく補助的に添える程度にとどめ、両方に入ったものから本番へ回すのが無難だと思います。

[1994-2002]
ITベンチャーの幹部として、8年間で数名の企業を500名以上の企業に成長させることに貢献。95年より独学でwebデザインを学ぶ。

[2002-2023]
米国法人のwebデザイン会社のCEOを務め数々の賞を受賞。

[2023〜]
AI事業開始に伴い、つくば市を拠点として株式会社RESONIXを起業。