recursal/MDN huggingface dataset:
HTMLAreaElement
===============

**`HTMLAreaElement`** インターフェイスは、（通常のオブジェクトである `HTMLElement` が継承によって利用できるもの以外に） `<area>` 要素のレイアウトと表示を操作するための特別なプロパティとメソッドを提供します。

EventTarget

Node

Element

HTMLElement

HTMLAreaElementインスタンスプロパティ
-----------

*親である `HTMLElement` からプロパティを継承しています。*

`HTMLElement.accessKey`

文字列で、入力フォーカスをこのハイパーリンクに切り替える単一文字を表します。

`HTMLAreaElement.alt`

要素の代替テキストを含む HTML の `alt` 属性を反映する文字列です。

`HTMLAreaElement.coords`

ホットスポット領域を定義する座標を含む HTML の `coords` 属性を反映する文字列です。

`HTMLAreaElement.download` 
Experimental

文字列で、リンク先リソースをブラウザーに表示するのではなくダウンロードすることを意図していることを示します。値は、提案するファイル名を表します。そのファイル名が基になる OS の有効なファイル名でなかった場合は、ブラウザーが修正します。

`HTMLAreaElement.hash`

文字列で、参照する URL の先頭のハッシュマーク ('`#`') を含むフラグメント識別子を表します。

`HTMLAreaElement.host`

文字列で、参照する URL のホスト名とポート番号（既定のポート番号でない場合）を表します。

`HTMLAreaElement.hostname`

文字列で、参照する URL のホスト名を表します。

`HTMLAreaElement.href`

文字列で、 HTML の `href` 属性を反映し、リンク先リソースの有効な URL を含みます。

`HTMLAreaElement.noHref` 
非推奨

論理値のフラグで、領域がアクティブでない (`true`) かアクティブである (`false`) かを示します。

`HTMLAreaElement.origin` 読取専用 

URL のオリジン、つまりスキーム（プロトコル）、ドメイン（ホスト名）、ポートを含む文字列を返します。

`HTMLAreaElement.password`

ドメイン名の前に指定されたパスワードを含む文字列を返します。

`HTMLAreaElement.pathname`

最初の `'/'` に続き、クエリー文字列やフラグメントを含まない URL のパスを含む文字列です。

`HTMLAreaElement.port`

文字列で、参照する URL のポート番号部分がある場合は、それを表します。

`HTMLAreaElement.protocol`

文字列で、参照する URL の末尾のコロン ('`:`') を含むプロトコルの部分を表します。

`HTMLAreaElement.referrerPolicy` 
Experimental

文字列で、どのリファラーを使用するかを示す HTML の `referrerpolicy` 属性を反映します。

`HTMLAreaElement.rel`

文字列で、対象オブジェクトからリンク先オブジェクトへの関係を指定する HTML の `rel` 属性を反映します。

`HTMLAreaElement.relList` 読取専用 

`DOMTokenList` で、 HTML の `rel` 属性を反映し、現在の文書とリンクされたリソースとの関係を、トークンのリストで示したものを返します。

`HTMLAreaElement.search`

参照する URL の検索要素（先頭の疑問符 ('`?`') を含む）をがあれば、それを表す文字列です。

`HTMLAreaElement.shape`

文字列で、 HTML の `shape` 属性を反映し、ホットスポットの形状を示します。既知の値に制限されています。

`HTMLElement.tabIndex`

現在の文書のタブ移動ナビゲーション順序での要素の位置を含む `long` です。

`HTMLAreaElement.target` (en-US)

文字列で、リンク先リソースを表示する場所を示す HTML の `target` 属性を反映します。

`HTMLAreaElement.username`

ドメイン名の前に指定されたユーザー名を含む文字列です。

インスタンスメソッド
----------

*親である `HTMLElement` からメソッドを継承しています。*

`HTMLAreaElement.toString()`

URL 全体を含む文字列を返します。 `HTMLAreaElement.href` の別名です。

仕様書
---

| Specification |
| --- |
| HTML Standard # htmlareaelement |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* このインターフェイスを実装する HTML 要素: `<area>`
CompositionEvent
================

DOM の **`CompositionEvent`** は、ユーザーの間接的なテキストの入力（訳注: かな漢字変換の入力など）によって発生するイベントを表します。

Event

UIEvent

CompositionEventコンストラクター
--------

`CompositionEvent()`

新しい `CompositionEvent` オブジェクトのインスタンスを作成します。

プロパティ
-----

*このインターフェイスは、親である `UIEvent` および祖先である `Event` から継承したプロパティもあります。*

`CompositionEvent.data` 読取専用 

イベントを発生させた入力システムによって生成された文字を返します。これは、`CompositionEvent` オブジェクトを生成したイベントの型に応じて変わります。

`CompositionEvent.locale` 読取専用  
非推奨

Non-standard

現在の入力システムのロケールです (例えば、入力システムが IME であればそれに関連したキーボードレイアウトのロケールになります)。

メソッド
----

*このインターフェイスは、親である `UIEvent` および祖先である `Event` から継承したメソッドもあります。*

`CompositionEvent.initCompositionEvent()` 
非推奨

`CompositionEvent` オブジェクトの属性を初期化します。

仕様書
---

| Specification |
| --- |
| UI Events # interface-compositionevent |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* compositionstart
* compositionend
* compositionupdate
* UIEvent
* Event
SubmitEvent
===========

**`SubmitEvent`** インターフェイスは、 HTML フォームの `submit` イベントを表現するために使用されるオブジェクトを定義します。このイベントは、フォームの送信操作が呼び出されたときに `<form>` で発行されます。

Event

SubmitEventコンストラクター
--------

`SubmitEvent()`

`type` と他のオプションが指定された `SubmitEvent` オブジェクトを新しく作成して返します。現在、`SubmitEvent` の有効な `type` は `submit` だけであることに注意してください。

プロパティ
-----

*以下のプロパティに加えて、このインターフェイスには親インターフェイスである `Event` から継承したプロパティがあります。*

`submitter` 読取専用 

フォーム送信のきっかけとなったボタンやその他の要素を特定する `HTMLElement` オブジェクトです。

メソッド
----

*`SubmitEvent` には自身のメソッドがありませんが、親インターフェイスである `Event` から継承したメソッドがあります。*

例
-

この例では、ユーザーの設定、店舗の設定、決済業者によって確立された商品券の合計額の最小値または最大値等の要因に応じて、ショッピングカートに様々な組み合わせの送信ボタンが表示される可能性があります。それぞれの送信要素の `id` で、ボタンに対応する決済業者を識別します。


```js
let form = document.querySelector("form");
form.addEventListener("submit", (event) => {
  let submitter = event.submitter;
  let handler = submitter.id;

  if (handler) {
    processOrder(form, handler);
  } else {
    showAlertMessage(
      "不明または未対応の支払い方法が選択されました。やり直してください。",
      "OK",
    );
  }
});
```


ハンドラー ID は、 `submit` イベントの `submitter` プロパティを使用して送信ボタンを取得し、そこから ID を取得します。これで、 `processOrder()` 関数を呼び出して、フォームとハンドラー ID を渡しながら注文を処理することができます。

仕様書
---

| Specification |
| --- |
| HTML Standard # the-submitevent-interface |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
MediaDevices
============

**`MediaDevices`** インターフェイスは、カメラやマイク、さらに画面共有などの接続されたメディア入力機器へのアクセスを提供します。要するに、メディアデータのソースであるハードウェアにアクセスすることができるようになります。

EventTarget

MediaDevicesインスタンスプロパティ
-----------

*親インターフェイスである `EventTarget` のプロパティを継承しています。*

インスタンスメソッド
----------

*親インターフェイスである `EventTarget` のメソッドを継承しています。*

`enumerateDevices()`

システム上で使用できる入出力メディア機器についての情報を持つ配列を取得します。

`getSupportedConstraints()`

`MediaTrackSupportedConstraints` に適合するオブジェクトを返します。このオブジェクトは `MediaStreamTrack` インターフェイスで対応している制約可能なプロパティを表します。制約に関する詳細や使い方については、メディアストリーム API を参照してください。

`getDisplayMedia()`

共有または録画の目的で `MediaStream` としてキャプチャする、画面または画面の一部 (ウィンドウなど) をユーザーに選択させます。 `MediaStream` で解決する Promise を返します。

`getUserMedia()`

ユーザーの許可に基づいて、システム上のカメラや画面共有機能、マイクを起動して、入力と共に映像トラックや音声トラックを含む `MediaStream` を提供します。

`selectAudioOutput()` 
Experimental

ユーザーに対して、固有の音声出力機器を選択するよう尋ねます。

イベント
----

`devicechange`

メディアの入力または出力機器がユーザーのコンピューターに接続されたり取り外されたりしたときに発生します。

例
-


```js
// Put variables in global scope to make them available to the browser console.
const video = document.querySelector("video");
const constraints = {
  audio: false,
  video: true,
};

navigator.mediaDevices
  .getUserMedia(constraints)
  .then((stream) => {
    const videoTracks = stream.getVideoTracks();
    console.log("Got stream with constraints:", constraints);
    console.log(`Using video device: ${videoTracks[0].label}`);
    stream.onremovetrack = () => {
      console.log("Stream ended");
    };
    video.srcObject = stream;
  })
  .catch((error) => {
    if (error.name === "ConstraintNotSatisfiedError") {
      console.error(
        `The resolution ${constraints.video.width.exact}x${constraints.video.height.exact} px is not supported by your device.`,
      );
    } else if (error.name === "PermissionDeniedError") {
      console.error(
        "You need to grant this page permission to access your camera and microphone.",
      );
    } else {
      console.error(`getUserMedia error: ${error.name}`, error);
    }
  });
```

仕様書
---

| Specification |
| --- |
| Media Capture and Streams # mediadevices |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* メディアキャプチャとストリーム API: このインターフェイスが所属する API。
* 画面キャプチャ API: `getDisplayMedia()` メソッドを定義している API。
* WebRTC API
* `Navigator.mediaDevices`: 機器にアクセスするために使用することができる `MediaDevices` への参照を返します。
* CameraCaptureJS: HTML5 による動画キャプチャおよび再生で、 `MediaDevices` および MediaStream 収録 API を使用しています。
* OpenLang: HTML による動画言語研究ウェブアプリケーションで、 `MediaDevices` および MediaStream 収録 API を録画に使用しています。
XRReferenceSpaceEvent
=====================

**安全なコンテキスト用:** この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

WebXR 機器 API の **`XRReferenceSpaceEvent`** インターフェイスは、`XRReferenceSpace` に送信されるイベントを表します。今のところ、この型を使用するイベントは `reset` イベントのみです。

Event

XRReferenceSpaceEventコンストラクター
--------

`XRReferenceSpaceEvent()`

指定された種類と構成による新しい `XRReferenceSpaceEvent` を返します。

プロパティ
-----

*親インターフェイスである `Event` で使用可能なプロパティを継承することに加えて、`XRReferenceSpaceEvent` オブジェクトには次のプロパティが含まれます。*

`referenceSpace` 読取専用 

イベントを生成した参照空間を示す `XRReferenceSpace`。

`transform` 読取専用 

イベント前の座標系を基準にして定義された、イベント後の指定された `referenceSpace` のネイティブの原点の位置と向きを示す `XRRigidTransform` オブジェクト。

メソッド
----

*`XRReferenceSpaceEvent` はメソッドを定義しませんが、親インターフェイスである `Event` のメソッドを継承しています。*

イベント型
-----

`reset`

`reset` イベントは、不連続、再較正、または機器のリセットによってネイティブの原点が変更されたときに参照空間に送信されます。 これは、アプリが保存されている変換、位置/向き情報などを更新したり、必要に応じて再計算できるように参照の空間の原点に基づいてキャッシュされた値をダンプする機会です。

仕様書
---

| Specification |
| --- |
| WebXR Device API # xrreferencespaceevent-interface |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
CSSPseudoElement
================

**Experimental:** **これは実験的な機能です。**  
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

**`CSSPseudoElement`** インターフェイスは、イベントの対象としたりウェブアニメーション API を使用してアニメーションさせたりする擬似要素を表します。このインターフェイスのインスタンスは `Element.pseudo()` を呼び出すことで取得できます。

EventTarget

CSSPseudoElementインスタンスプロパティ
-----------

`CSSPseudoElement.element` 
Experimental
 読取専用 

擬似要素の元／親要素 (`Element`) を返します。

`CSSPseudoElement.type` 
Experimental
 読取専用 

擬似要素セレクターを文字列で返します。

インスタンスメソッド
----------

*`CSSPseudoElement` は `EventTarget` から派生しているため、以下のメソッドを継承しています。*

`EventTarget.addEventListener()`

擬似要素に固有のイベント型のイベントハンドラーを登録します。

`EventTarget.dispatchEvent()`

この擬似要素にイベントを配信します。

`EventTarget.removeEventListener()`

擬似要素からイベントリスナーを除去します。

例
-

### Element.pseudo を使用した基本的な例

擬似要素を用いると、ほとんどの現代のブラウザーは `<q>` 要素内のテキストに引用符を自動的に追加します。（古いブラウザーで引用符を追加するにはスタイルルールが必要な場合があります。）下記ノ例は、冒頭の引用符を表す `CSSPseudoElement` オブジェクトの基本的なプロパティを示しています。


```js
const element = document.querySelector("q");
const cssPseudoElement = element.pseudo("::before");
console.log(cssPseudoElement.element); // [object HTMLQuoteElement] を出力
console.log(cssPseudoElement.type); // '::before' を出力
```

仕様書
---

| Specification |
| --- |
| CSS Pseudo-Elements Module Level 4 # CSSPseudoElement-interface |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Element.pseudo()`
* ウェブアニメーション API
* `Element.animate()`
IDBRequest
==========

**`IDBRequest`** は IndexedDB API のインターフェイスで、データベースやデータベースオブジェクトへの非同期の要求の結果へのアクセスをイベントハンドラープロパティによって提供します。データベースの読み書きは、それぞれ要求を用いて行います。

要求オブジェクトは、最初は操作の結果の情報を何も持っていません。情報が得られるようになると、要求でイベントが発生し、`IDBRequest` のインスタンスのプロパティを通じて情報が得られるようになります。

全ての非同期操作は、すぐに `IDBRequest` のインスタンスを返します。それぞれの要求は `'pending'` 状態に設定された `readyState` を持ちます。要求が完了するか失敗すると、これは `'done'` に変わります。状態が `done` に設定されると、それぞれの要求は `result` と `error` を返し、要求でイベントが発生します。状態が `pending` のままである間は、`result` や `error` にアクセスしようとすると `InvalidStateError` 例外が発生します。

平たく言えば、全ての非同期メソッドは要求オブジェクトを返します。要求が正常に完了すると、結果が `result` プロパティを通じて取得できるようになり、成功を表すイベント (`IDBRequest.onsuccess`) が発生します。操作の実行中にエラーが発生すると、例外が `error` プロパティを通じて取得できるようになり、エラーイベント (`IDBRequest.onerror` (en-US)) が発生します。

`IDBOpenDBRequest` インターフェイスは `IDBRequest` から派生しています。

**注:** この機能は Web Worker 内で利用可能です

EventTarget

IDBRequestインスタンスプロパティ
-----------

*`EventTarget` からもプロパティを継承しています。*

`IDBRequest.error` 読取専用 

要求が失敗したとき `DOMException` を返し、何が失敗したのかを示します。

`IDBRequest.result` 読取専用 

要求の結果を返します。要求が完了していない場合は結果は参照できず、`InvalidStateError` 例外が投げられます。

`IDBRequest.source` 読取専用 

`IDBIndex` や `IDBObjectStore` などの要求元です。(`IDBFactory.open` を呼んだときなど) 要求元が存在しない場合は `null` を返します。

`IDBRequest.readyState` 読取専用 

要求の状態です。全ての要求は開始時 `pending` 状態です。要求が正常に完了するか、エラーが発生すると、状態は `done` に変わります。

`IDBRequest.transaction` 読取専用 

要求用のトランザクションです。例えばアップグレードが不要な場合に `IDBFactory.open` から返される要求など、このプロパティが `null` になる要求もあります。(データベースに接続するだけなので、返すべきトランザクションがありません)

インスタンスメソッド
----------

*メソッドはありませんが、メソッドを `EventTarget` から継承しています。*

イベント
----

`addEventListener()` を用いるか、このインターフェイスの `oneventname` プロパティにイベントリスナーを代入することで、これらのイベントをリッスンします。

`error`

 エラーにより要求が失敗した場合に発生します。
 `onerror` (en-US) プロパティ経由でも利用可能です。


`success`

`IDBRequest` が成功した場合に発生します。
 `onsuccess` プロパティ経由でも利用可能です。


例
-

以下のコードスニペットでは、データベースを非同期で開いて要求を作成します。`onerror` および `onsuccess` 関数が、成功と失敗のケースを扱うために入っています。動く例全体は､To-do Notifications アプリケーション (動く例を見る) を見てください｡


```js
var db;

// 我々のデータベースを開きましょう
var DBOpenRequest = window.indexedDB.open("toDoList", 4);

// これら 2 個のイベントハンドラーは､データベースが正常に開かれたか､
// 失敗した時に動作します｡
DBOpenRequest.onerror = function (event) {
  note.innerHTML += "<li>データベースの読み込みに失敗しました。</li>";
};

DBOpenRequest.onsuccess = function (event) {
  note.innerHTML += "<li>データベースを初期化しました。</li>";

  // データベースを開いた結果を保存します｡
  db = DBOpenRequest.result;
};
```

仕様書
---

| Specification |
| --- |
| Indexed Database API 3.0 # request-api |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* IndexedDB の使用
* トランザクションの開始 : `IDBDatabase`
* トランザクションの使用 : `IDBTransaction`
* キーの範囲の設定 : `IDBKeyRange`
* データの取得と変更 : `IDBObjectStore`
* カーソルの使用 : `IDBCursor`
* リファレンス例 : To-do Notifications (動く例を見る)
PerformanceNavigationTiming
===========================

**Experimental:** **これは実験的な機能です。**  
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

**`PerformanceNavigationTiming`** インターフェイスは、ブラウザーの文書ナビゲーションイベントに関するメトリックを格納および取得するためのメソッドとプロパティを提供します。たとえば、このインターフェイスを使用して、文書のロードまたはアンロードにかかる時間を判断できます。

PerformanceEntry

PerformanceResourceTiming

PerformanceNavigationTimingプロパティ
-----

このインターフェイスは、ナビゲーションパフォーマンスエントリタイプの以下の `PerformanceEntry` プロパティを次のように限定して制限することで拡張します。

`PerformanceEntry.entryType` 読取専用 

`"navigation"` を返します。

`PerformanceEntry.name` 読取専用 

文書のアドレス を返します。

`PerformanceEntry.startTime` 読取専用 

値 "`0`" を持つ `DOMHighResTimeStamp` を返します。

`PerformanceEntry.duration` 読取専用 

`PerformanceNavigationTiming.loadEventEnd` と `PerformanceEntry.startTime` の各プロパティの差である `timestamp` を返します。

このインターフェイスは、ナビゲーションパフォーマンスエントリタイプの以下の `PerformanceResourceTiming` プロパティも、次のように修飾して制約することで拡張します。

`PerformanceResourceTiming.initiatorType`読取専用 

`"navigation"` を返します。

インターフェイスは以下のプロパティもサポートします。

`PerformanceNavigationTiming.domComplete` (en-US) 読取専用 

ブラウザーが現在の文書の現在の文書レディネスを\*完了\*に設定する直前の時間と等しい時間値を表す `DOMHighResTimeStamp`。

`PerformanceNavigationTiming.domContentLoadedEventEnd` (en-US) 読取専用 

現在の文書の DOMContentLoaded イベントが完了した直後の時間と等しい時間値を表す `DOMHighResTimeStamp`。

`PerformanceNavigationTiming.domContentLoadedEventStart` (en-US) 読取専用 

現在の文書でユーザーエージェントが DOMContentLoaded イベントを起動する直前の時間と等しい時間値を表す `DOMHighResTimeStamp`。

`PerformanceNavigationTiming.domInteractive` (en-US) 読取専用 

ユーザーエージェントが現在の文書の現在の文書の準備状態を interactive に設定する直前の時間に等しい時間値を表す`タイムスタンプ`を表す `DOMHighResTimeStamp`。

`PerformanceNavigationTiming.loadEventEnd` 読取専用 

現在の文書の load イベントが完了した時刻を表す `DOMHighResTimeStamp`。

`PerformanceNavigationTiming.loadEventStart` (en-US) 読取専用 

現在の文書の load イベントが発生する直前の時間と等しい時間値を表す `DOMHighResTimeStamp`。

`PerformanceNavigationTiming.redirectCount` (en-US) 読取専用 

 現在の閲覧コンテキストでの最後のリダイレクト以外のナビゲーション以降のリダイレクト数を表す数値。
 リダイレクトがなかった場合、またはリダイレクトが別のオリジンからのもので、そのオリジンが現在のオリジンにタイミング情報を公開することを許可していない場合、値は 0 になります。


`PerformanceNavigationTiming.requestStart` 読取専用 

ユーザーエージェントがサーバー、または関連するアプリケーションキャッシュから、あるいはローカルリソースからリソースを要求し始める直前の時間を表す `DOMHighResTimeStamp`。

`PerformanceNavigationTiming.responseStart` 読取専用 

ユーザーエージェントの HTTP パーサーが関連するアプリケーションキャッシュ、またはローカルリソースから、あるいはサーバーからレスポンスの最初のバイトを受け取った直後の時間を表す `DOMHighResTimeStamp`。

`PerformanceNavigationTiming.type` (en-US) 読取専用 

ナビゲーションタイプを表す `文字列`。"`navigate`"、"`reload`"、"`back_forward`"、"`prerender`"のいずれかです。

`PerformanceNavigationTiming.unloadEventEnd` (en-US) 読取専用 

ユーザーエージェントが前の文書の unload イベントを終了した直後の時間と等しい時間値を表す `DOMHighResTimeStamp`。

`PerformanceNavigationTiming.unloadEventStart` (en-US) 読取専用 

ユーザーエージェントが前の文書の unload イベントを開始する直前の時間と等しい時間値を表す `DOMHighResTimeStamp`。

メソッド
----

`PerformanceNavigationTiming.toJSON()` (en-US)

`PerformanceNavigationTiming` オブジェクトの JSON 表現である `DOMString` を返します。

仕様書
---

| Specification |
| --- |
| Navigation Timing Level 2 # sec-PerformanceNavigationTiming |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* `Performance.navigation`
* `PerformanceNavigation`
CSSRule
=======

**`CSSRule`** インターフェイスは、1 つの CSS ルールを表します。 `CSSRule` からプロパティを継承しているルールを表す型がいくつかあります。

* `CSSGroupingRule`
* `CSSStyleRule`
* `CSSImportRule`
* `CSSMediaRule`
* `CSSFontFaceRule`
* `CSSPageRule`
* `CSSNamespaceRule`
* `CSSKeyframesRule`
* `CSSKeyframeRule`
* `CSSCounterStyleRule` (en-US)
* `CSSSupportsRule`
* `CSSFontFeatureValuesRule` (en-US)
* `CSSFontPaletteValuesRule` (en-US)
* `CSSLayerBlockRule`
* `CSSLayerStatementRule`
* `CSSPropertyRule`
インスタンスプロパティ
-----------

`CSSRule` インターフェイスは、すべてのルールに共通のプロパティを規定します。特定の種類のルールに特有のプロパティは、各種類のルールのために、さらに特化したインターフェース内で規定されています。

`CSSRule.cssText`

このルールのテキスト表現を表します。たとえば "`h1,h2 { font-size: 16pt }`" や "`@import 'url'`" です。ルールの一部（つまり、この例の "font-size" の値）にアクセスまたは変更するには、ルールの種類に特化したインターフェイスのプロパティを使用してください。

`CSSRule.parentRule` 読取専用 

このルールを含むルールを返します。このルールが包含されていなければ `null` を返します。つまり、このルールが `@media` ブロック内部のスタイルルールの場合、親ルールは `CSSMediaRule` になります。

`CSSRule.parentStyleSheet` 読取専用 

このルールを含むスタイルシートの `CSSStyleSheet` オブジェクトを返します。

`CSSRule.type` 読取専用 
非推奨

どの種類のルールを表すかを決定するための、型定数の一つを返します。

例
-

`CSSRule` への参照は、 `CSSStyleSheet` の `cssRules` リストを参照することで取得できます。


```js
let myRules = document.styleSheets[0].cssRules; // CSSRuleList を返す
console.log(myRules);
```

仕様書
---

| Specification |
| --- |
| CSS Object Model (CSSOM) # the-cssrule-interface |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* 動的なスタイル情報の使用
位置情報 API
========

**安全なコンテキスト用:** この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

**位置情報 API** (Geolocation API) を使用すると、ユーザーが望む場合に、自分の位置情報をウェブアプリケーションに提供することができます。プライバシー上の理由から、ユーザーは位置情報を報告する許可を求められます。

WebExtension で `Geolocation` オブジェクトを使用するには、マニフェストに `"geolocation"` パーミッションを追加しなければなりません。ユーザーのオペレーティングシステムは、最初に要求されたときに位置情報へのアクセスを許可するようにユーザーに促します。

概念と使用方法
-------

ウェブアプリでユーザーの位置情報を取得したいと思うことはよくあります。例えば、ユーザーの位置を地図上にプロットしたり、ユーザーの位置に関連するパーソナライズされた情報を表示したりすることができます。

位置情報 APIは `navigator.geolocation` への呼び出しを介してアクセスします。これにより、ブラウザーはユーザーに自分の位置情報にアクセスする許可を要求します。ユーザーが許可すると、ブラウザーは端末上で利用可能な最良の機能（GPS など）を使用してこの情報にアクセスします。

開発者は、いくつかの異なる方法でこの位置情報にアクセスできるようになりました。

* `Geolocation.getCurrentPosition()`: 端末の現在の位置を受け取ります。
* `Geolocation.watchPosition()`: 端末の位置が変化するごとに自動的に呼び出され、更新された位置情報を返すハンドラー関数を登録します。

どちらの場合も、メソッド呼び出しには最大 3 つの引数を取ります。

* 成功コールバック（必須）: 位置情報の取得に成功した場合、このコールバックが `GeolocationPosition` オブジェクトを唯一の引数として実行され、位置情報へのアクセスを提供します。
* エラーコールバック（オプション）: 位置情報の検索に失敗した場合、このコールバックが `GeolocationPositionError` オブジェクトを唯一の引数として実行され、何が問題となったかに関するアクセス情報を提供します。
* 位置データを取得するためのオプションを提供するオプションのオブジェクト。

位置情報の使用に関するさらなる情報は、位置情報 API の使用を参照してください。

インターフェイス
--------

`Geolocation`

この API のメインクラスです。ユーザーの現在位置の取得、位置の変化の監視、および以前に設定した管理のクリアを行うメソッドが含まれています。

`GeolocationPosition`

ユーザーの位置を表します。 `GeolocationPosition` インスタンスは、 `Geolocation` に含まれるメソッドのいずれかの呼び出しが成功した場合に、成功コールバックの内部で返され、タイムスタンプと `GeolocationCoordinates` オブジェクトのインスタンスが含まれます。

`GeolocationCoordinates`

ユーザーの位置の座標を表します。 `GeolocationCoordinates` のインスタンスには、緯度、経度、その他の重要な関連情報が含まれています。

`GeolocationPositionError`

`GeolocationPositionError` は、 `Geolocation` に含まれるメソッドのいずれかの呼び出しに失敗した場合、エラーコールバック内で返され、エラーコードとメッセージが含まれています。

`Navigator.geolocation`

API のエントリーポイント。 `Geolocation` オブジェクトのインスタンスを返し、そこから他のすべての機能にアクセスすることができます。

例
-

例については位置情報 API の使用を参照してください。

仕様書
---

| Specification |
| --- |
| Geolocation API # geolocation\_interface |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

### 可用性

Wi-Fi ベースの測位は Google が提供することが多いため、中国ではバニラの位置情報 API が利用できない場合があります。 Baidu, Autonavi, Tencent などの地域ののサードパーティプロバイダーを使用することができます。これらのサービスは、ユーザーの IP アドレスおよび/またはローカルアプリを使用して、より高度な位置情報を提供します。

関連情報
----

* 位置情報 API の使用
* Geolocation API on w3.org
* Who moved my geolocation? (Hacks blog)
HTMLLinkElement
===============

**`HTMLLinkElement`** インターフェイスは、外部リソースの参照情報と、それらのリソースと文書の関係（またはその逆）を表します（`<link>` 要素に対応します。 `HTMLAnchorElement` で表される `<a>` 要素と混同しないでください）。このオブジェクトは `HTMLElement` インターフェイスのすべてのプロパティとメソッドを継承します。

EventTarget

Node

Element

HTMLElement

HTMLLinkElementインスタンスプロパティ
-----------

*親である `HTMLElement` から継承したプロパティがあります。*

`HTMLLinkElement.as`

文字列で、この HTML リンクによって読み込まれるコンテンツの種類を表します。

`HTMLLinkElement.crossOrigin` (en-US)

文字列で、このリンク要素の CORS 設定に対応します。詳細については、 CORS 設定属性を参照してください。

`HTMLLinkElement.disabled`

論理値で、リンクが無効であるかどうかを表します。現在、スタイルシートリンクでのみ使用されています。

`HTMLLinkElement.fetchPriority` 
Experimental

オプションの文字列で、ブラウザーが先読みの取得を他の同じ種類のリソースと比較してどのように優先させるべきかというヒントを表します。この値を指定した場合、許可された値のいずれかでなければなりません。高い優先度で取得する場合は `high`、低い優先度で取得する場合は `low`、優先度を指定しない場合は `auto` （既定値）となります。

`HTMLLinkElement.href`

文字列で、対象リソースの URI を表します。

`HTMLLinkElement.hreflang` (en-US)

文字列で、リンク先リソースの言語コードを表します。

`HTMLLinkElement.media`

文字列で、リソースに適用される 1 つ以上のメディア形式のリストを表します。

`HTMLLinkElement.referrerPolicy`

文字列で、使用するリファラーを示す HTML の `referrerpolicy` 属性を反映します。

`HTMLLinkElement.rel`

文字列で、リンク元文書からリンク先リソースに対する関連性を表します。

`HTMLLinkElement.relList` 読取専用 

`DOMTokenList` で、 HTML の `rel` 属性をトークンのリストとして反映します。

`HTMLLinkElement.sizes` 読取専用 

`DOMTokenList` で、トークンのリストとして HTML の `sizes` 属性を反映します。

`HTMLLinkElement.sheet` 読取専用 

指定された要素に関連付けられた `StyleSheet` オブジェクトを返します。存在しない場合は `null` を返します。

`HTMLLinkElement.type`

文字列で、リンク先リソースの MIME タイプを表します。

### 廃止されたプロパティ

`HTMLLinkElement.charset` 
非推奨

文字列で、対象リソースの文字エンコーディングを表します。

`HTMLLinkElement.rev` 
非推奨

文字列で、リソースからこの文書に対してリンクされたリソースの逆相の関係を表します。

**メモ:** 現在、W3C HTML 5.2 仕様では `rev` は廃止ではないとされていますが、WHATWG living standard では廃止というラベルが貼られたままになっています。この矛盾が解決されるまでは、廃止であると考えるべきでしょう。

`HTMLLinkElement.target` 
非推奨

文字列で、リソースが適用する対象フレームの名前を表します。

インスタンスメソッド
----------

*固有のメソッドはありません。親である `HTMLElement` から継承したメソッドがあります。*

仕様書
---

| Specification |
| --- |
| HTML Standard # htmllinkelement |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* このインターフェイスを実装している HTML 要素: `<link>`
USBIsochronousOutTransferPacket
===============================

Limited availability
--------------------

This feature is not Baseline because it does not work in some of the most widely-used browsers.

* Learn more
* See full compatibility
* Report feedback
**安全なコンテキスト用:** この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

**Experimental:** **これは実験的な機能です。**  
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

WebUSB API の `USBIsochronousOutTransferPacket` インターフェイスは、`USBDevice` インターフェイスの `isochronousTransferOut()` メソッドの呼び出しに対する応答の一部です。これは、アイソクロナスエンドポイントによる USB ホストから USB デバイスへのデータ転送の要求における個別のパケットの状態を表します。

コンストラクター
--------

`USBIsochronousOutTransferPacket()` 
Experimental

指定の `status` および `bytesWritten` フィールドを持つ新しい `USBIsochronousOutTransferPacket` オブジェクトを生成します。

インスタンスプロパティ
-----------

`USBIsochronousOutTransferPacket.bytesWritten` 読取専用  
Experimental

このパケットでデバイスに送信されたバイト数を返します。

`USBIsochronousOutTransferPacket.status` 読取専用  
Experimental

転送要求の状態を返します。以下のいずれかです。

* `"ok"` — 転送は成功しました。
* `"stall"` — デバイスはエンドポイントでストール状態を発生させ、エラーを示しました。アイソクロナスエンドポイントでのストールをクリアする必要はありません。

仕様書
---

| Specification |
| --- |
| WebUSB API # usbisochronousouttransferpacket |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
MIDIMessageEvent
================

**安全なコンテキスト用:** この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

Web MIDI API の **`MIDIMessageEvent`** インターフェイスは、`MIDIInput` インターフェイスの `midimessage` イベントに渡されるイベントを表します。`midimessage` イベントは、`MIDIInput` が表すデバイスから MIDI メッセージが送られてくるたびに発火します。たとえば、MIDI キーボードのキーが押された時、ノブが回された時、スライダーが動かされた時などです。

Event

MIDIMessageEventコンストラクター
--------

`MIDIMessageEvent()`

新しい `MIDIMessageEvent` オブジェクトのインスタンスを生成します。

インスタンスプロパティ
-----------

*このインターフェイスは `Event` からもプロパティを継承します。*

`MIDIMessageEvent.data`

1 個の MIDI メッセージのデータバイト列が格納された `Uint8Array` です。構造の詳細については、MIDI の仕様書を参照してください。

インスタンスメソッド
----------

*このインターフェイスは固有のメソッドを実装していませんが、`Event` からメソッドを継承します。*

例
-

以下の例は、すべての MIDI メッセージをコンソールに出力します。


```js
navigator.requestMIDIAccess().then((midiAccess) => {
  Array.from(midiAccess.inputs).forEach((input) => {
    input[1].onmidimessage = (msg) => {
      console.log(msg);
    };
  });
});
```

仕様書
---

| Specification |
| --- |
| Web MIDI API # midimessageevent-interface |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.