audioタグの各OS・ブラウザ別UI・レスポンシブ仕様まとめ

<!-- 書く前に気をつけること -->
<!-- ・まずタイトル、次に見出し(なるべく短く1行以内)を決めて文書構成を固める -->
<!-- ・余計なことを書かない -->
<!-- ・ひとつの文にはひとつの意味を -->
<!-- ・漢字をひらく(不必要に漢字を使いすぎない) -->

## はじめに

こんにちは。
最近、新規事業系の部署から異動して朝デジ事業センターCX(カスタマーエクスペリエンス)部に所属している市野です。今は週刊英字新聞Asahi Weeklyのデジタル版であるAsahi Weekly DIGITAL(以下、AWD)の開発をしています。

AWDではHTMLのaudioタグを使って英語音声を再生できるようにしています。ただ、このaudioタグがなかなかの曲者、、、OSやブラウザによって見た目が異なることに加えて、レスポンシブの仕様が異なります。そこで今回はこの仕様について簡単にまとめてみます。

※本記事の内容はは全て執筆時点(2023/12/08)のものです。

## Audioタグのcontrols属性

Audioタグは `contorols`属性を付加することで、ユーザーに再生・一時停止・速度調整など音声操作機能を提供するパネルを表示できます。ここでは、この属性を有効化した状態で話を進めます。

https://developer.mozilla.org/ja/docs/Web/HTML/Element/audio#controls

## 比較対象

OS
* Windows
* Mac

ブラウザ
* Chrome
* Safari
* Firefox

## UIの比較

横幅約280pxでのスクショとなります。

| OS      | ブラウザ  | ブラウザVer      | スクショ    |
| ------- | ------- | -------------- | --- |
| Windows | Chrome  | 119.0.6045.106 | ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/135313/083338c8-b939-eddc-57dd-949400cac109.png)   |
|         | FireFox | 119.0          | ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/135313/ee5f73be-5e33-ff5d-98fb-5e56e4198a60.png)   |
|         | Edge    | 119.0.2151.44  | ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/135313/f7a0603d-88fd-b4cd-4439-d771e93e830a.png)   |
| Mac     | Safari  | 17613.3.9.1.16 | ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/135313/61317203-6c15-d947-b7de-f05facee9b3d.png)   |
|         | Chrome  | 119.0.6045.105 | ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/135313/6a14e436-c971-cd0b-42fe-6ec632c3951f.png)   |
| Android | Chrome  | 119.0.6045.66  | ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/135313/2eb3e916-1ace-9ac4-35f6-a503a00ad642.png)   |
| iPhone  | Safari  | 604.1          | ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/135313/1b43cbb0-bb77-4745-5fc8-62a7ad3b2c45.png)   |
|         | Chrome  | 108.0.5359.112 | ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/135313/a7398d1e-556e-bc3a-9244-75e6d42b835d.png)   |
| iPad    | Safari  | 605.1.15       | ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/135313/f13d0833-5ccb-39b9-5746-942be48e5bac.png)   |
|         | Chrome  | 114.0.5735.124 | ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/135313/dd76b0e0-e79d-4cee-c7d8-3bf5a3344708.png)   |

ブラウザによって見た目が異なることがわかります。

## 横幅による挙動

|                                    | Chrome                  | Safari                                       | Firefox                                          | 
| ---------------------------------- | ----------------------- | -------------------------------------------- | ------------------------------------------------ | 
| 横幅が小さいときの操作パネルの表示 | 3点リーダーから操作可能 | 消えるため操作不可。ズームすると表示される。 | 再生速度アイコンが消えるが、右クリックで変更可能 | 

横幅に関わらずChromeは3点リーダーから操作することが可能でした。癖があるのはSafariとFirefox。これらは横幅が短くなると操作アイコンが消えてしまい、Chromeのように3点リーダーが表示されることもありませんでした。そのため、ユーザーにとってはそもそも操作ができないと勘違いする可能性があります。Firefoxの右クリックで再生速度を変更できる仕様もなかなか気付きにくい印象。

## 終わりに

今回は簡単にaudioタグのUIとレスポンシブ仕様について整理してみました。本来、公式から詳細の仕様についてドキュメント等が出ていれば嬉しいのですが、見つけられず。(あったらぜひ教えてください🙇‍♂️)

## 参考文献

* https://developer.mozilla.org/ja/docs/Web/HTML/Element/audio

<!-- 最後にもう一度チェック -->
<!-- ・誤字脱字 -->
<!-- ・図で表現できる部分がないか -->
<!-- ・注釈を活用しよう -->