Chrome 128 の新機能

必知事項は次のとおりです。

  • <ruby> 要素を表示する場合は、改行を使用することをおすすめします。
  • Promise.try を使用すると、Promise を簡単に連結できます。
  • PointerEvent が拡張され、複数のペンを一意に識別できるようになりました。
  • 他にも多数の機能があります。

Adriana Jara と申します。Chrome 128 のデベロッパー向けの新機能について詳しく見てみましょう。

行区切り <ruby>

<ruby> 要素は、特に東アジアの言語でテキストの表示を強化します。ベーステキストの上にまたは横に、音声記号などの補足情報を表示できます。

ruby 要素は、メインテキストである ruby base と、要素でマークアップされたアノテーション テキストである ruby text の 2 つの主要部分で構成されています。

以前は、ruby-base または ruby-text が 1 行より長い場合、個別に折り返され、レイアウトに問題が生じていました。

行折り返し可能なルビが追加され、折り返されたルビ アノテーション テキストが折り返されたベーステキストの上に配置されるようになりました。これにより、理想的なテキスト レンダリングが実現します。

例と詳細については、行折り返し <ruby> と CSS ruby-align プロパティをご覧ください。

Promise.try

Promise.try を使用すると、Promise でエラーを簡単に処理できます。関数 f を使用するパターンがあります。この関数は非同期で、Promise を返す場合もあれば、返さないこともあります。Promise のセマンティクスを使用して両方の場合のエラーを処理するには、関数を Promise でラップします。

これを実現する 1 つの方法は Promise.resolve().then(f) を使用することですが、この場合、f は次のティックで不要に非同期で実行されます。

この問題を回避するには、new Promise(resolve => resolve(f())) を使用する必要がありますが、これはまったく人間工学に適していません。

Promise.try は、同じことを簡単に行う方法です。これにより、同期と非同期の両方の例外フローを処理する必要なく、.catch ハンドラですべてのエラーをキャッチする Promise チェーンを開始できます。

詳しくは、Promise.try のドキュメントをご覧ください。

マルチペン インク描画用の PointerEvent.deviceProperties

デベロッパーは、インク対応のデジタイザで 2 本のペンを区別する方法がありませんでした。既存の PointerEvent.pointerId 属性はさまざまな方法で実装されており、インク ストロークや画面操作ごとに保持されるとは限りません。

PointerEvent インターフェースが拡張され、新しい属性 deviceProperties が追加されました。ここに含まれる属性 uniqueId は、セッション永続でドキュメント分離された一意の識別子を表します。デベロッパーは、ページを操作する個々のペンを識別するために、この識別子を信頼性を持って使用できます。

この変更により、デジタイザを操作するデバイスごとに特定の色やペンの形状を設定できるようになります。

ポインタ イベントの使用を開始する方法については、ポインタ イベントの未来をご覧ください。

その他

もちろん、他にもたくさんあります。

  • CSS の zoom プロパティが最新の標準に準拠しました。

  • AudioContext の作成エラーと音声レンダリング エラーが AudioContext.onerror で報告されるようになりました。

  • DevTools のアニメーション パネルでアニメーションをキャプチャし、@keyframes をリアルタイムで編集できるようになりました。

リリースノート全体

関連情報

主なハイライトのみを記載しています。Chrome 128 のその他の変更については、次のリンクをご覧ください。

登録

最新情報を入手するには、Chrome Developers の YouTube チャンネルチャンネル登録してください。新しい動画が公開されると、メール通知が届きます。

Adriana Jara と申します。Chrome 128 がリリースされ次第、Chrome の新機能についてお知らせします。