Chrome 128 の新機能

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

  • <ruby> 要素を表示する場合は、改行を使用するのが適切です。
  • Promise.try を使用すると、Promise のチェーンが容易になります。
  • PointerEvent は、複数のペンを一意に識別するように拡張されています。
  • 他にも多くの機能を利用できます。

アドリアナ・ジャラですChrome 128 のデベロッパー向け新機能を見てみましょう。

改行可能 <ruby>

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

ルビー要素は、2 つの主要な部分で構成されます。ルビーベース(メインテキスト)とルビーテキスト(アノテーション テキスト)で、要素でマークアップします。

以前は、ルビーベースまたはルビーテキストが 1 行全体より長い場合、個別に折り返されていたため、レイアウトの問題がありました。

行分割可能な Ruby では、ラップされたベーステキストの上にラップされた Ruby アノテーション テキストが重ねて配置されるため、最適なテキスト レンダリングを実現できます。

例と詳細については、改行可能な <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 の [Animations] パネルでアニメーションがキャプチャされ、@keyframes をライブで編集できるようになりました。

リリースノートの全文を読む

関連情報

ここでは、重要なハイライトのみを取り上げます。以下のリンクを確認してください。 その他の変更が行われます。

登録

最新情報を入手するには、 Chrome Developers YouTube チャンネル 新しい動画が公開されるたびに メールでも通知されます

Adriana Jara と申します。Chrome 128 がリリースされ次第、Chrome の最新情報をお届けします。