<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <dfn><ruby>窓<rt>ウィンドウ</rt><rt xml:lang="en">window</rt></ruby></dfn>は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webブラウザー</anchor>において<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">レンダリング</anchor>を提示するための基本的な単位です。</p><section><h1>仕様書</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> <cite xml:lang="en">CSSOM View Module</cite> (<time>2016-08-09 18:15:49 +09:00</time>) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://drafts.csswg.org/cssom-view/#extensions-to-the-window-interface">https://drafts.csswg.org/cssom-view/#extensions-to-the-window-interface</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> <cite xml:lang="en">WebDriver</cite> (<time>2016-07-22 07:24:31 +09:00</time>) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://w3c.github.io/webdriver/webdriver-spec.html#h-resizing-and-positioning-windows">https://w3c.github.io/webdriver/webdriver-spec.html#h-resizing-and-positioning-windows</anchor-external></li></ul></refs></section><section><h1>構成要素</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">窓 (Web)</title></anchor>は、次の構成要素を持ちます。</p><figure class="list members"><dl><dt><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アドレスバー</anchor></dt><dd><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最上位閲覧文脈</f>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書</f>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">番地<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">文書の番地</title></f>や<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPS状態</f>などを表示します。また、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>の操作により<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最上位閲覧文脈</f>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">navigate</anchor> の指示をします。</dd><dt><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タイトルバー</anchor></dt><dd><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">題名</f>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">表示</anchor>します。</dd><dt><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メニューバー</anchor></dt><dd></dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">機能<anchor>ツールバー</anchor></f></dt><dd></dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">リンク<anchor>ツールバー</anchor></f></dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">栞</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ブックマーク</anchor>の一部または全部を表示し、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>の指示により<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最上位閲覧文脈</f>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">navigate</anchor> の指示をします。</dd><dt><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">状態バー</anchor></dt><dd><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最上位閲覧文脈</f>における <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">navigate</anchor> の進捗を表示したり、
<code class="CSS" xml:lang="en">:hover</code> や <code class="CSS" xml:lang="en">:focus</code> の状態にある<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ハイパーリンク</anchor>の
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> を表示したりします。</dd><dt><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">busy indicator</anchor></dt><dd><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最上位閲覧文脈</f>における <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">navigate</anchor> の進捗を表示します。</dd><dt><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サイドバー</anchor></dt><dd></dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">viewport</f></dt><dd><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最上位閲覧文脈</f>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">レンダリング</anchor>します。</dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>音声</anchor>の<anchor>再生</anchor>中か否か</f></dt><dd>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タブ</anchor>に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">音声</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">再生</anchor>しているかどうかを表示します。</dd></dl></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> 実装によっては、相当するものが存在しないかもしれません。例えば、
<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サイドバー</f>に相当するものが無いかもしれません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> 実装によっては、複数の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">窓 (Web)</title></anchor>でこれら構成要素の一部を共有しているかもしれません。
例えば<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タブブラウザー</anchor>では、ここでいう<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">窓 (Web)</title></anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タブ</anchor>に当たり、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アドレスバー</anchor>はその<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タブ</anchor>を含む<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓</anchor>全体で共有しているかもしれません。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Mac OS</anchor> では、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メニューバー</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>全体で共有しているかもしれません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> 一般的な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webブラウザー</anchor>では、<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最上位閲覧文脈</f>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">補助閲覧文脈</anchor>かどうかで、
構成要素の表示の有無や機能が変化します。例えば<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アドレスバー</f>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">補助閲覧文脈</anchor>なら<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>が書き換えできなくなります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[29]</anchor-end> 他に、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">窓 (Web)</title></anchor>は次の状態を持ちます。<figure class="list members"><dl><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最上位閲覧文脈</f></dt><dd>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最上位閲覧文脈</anchor>への<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">強い参照</anchor>を保持します (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最上位閲覧文脈</anchor>参照)。</dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">X</f></dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">画面</anchor>上の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">左辺</anchor>の位置。</dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Y</f></dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">画面</anchor>上の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">上辺</anchor>の位置。</dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">幅</f></dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">画面</anchor>上の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">幅</anchor>。</dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">高さ</f></dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">画面</anchor>上の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">高さ</anchor>。</dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">題名</f></dt><dd><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最上位閲覧文脈</f>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書</f>の <code class="DOMa" xml:lang="en">title<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">document.title</title></code>。
本<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">窓 (Web)</title></anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓</anchor>として<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">レンダリング</anchor>されるなら、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓システム</anchor>に対して、 (必要があれば)
本<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓</anchor>の名前として提示するものです。
例えば <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows</anchor> では、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タスクバー</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タスクマネージャー</anchor>の表示に使われます。
本<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">窓 (Web)</title></anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タブ</anchor>として<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">レンダリング</anchor>されるなら、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タブ</anchor>の名前として表示されるかもしれません。</dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">色</f></dt><dd><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最上位閲覧文脈</f>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書</f>の <code class="HTML" xml:lang="en">&lt;meta name=theme-color&gt;</code>
で指定された値 (あれば)。
本<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">窓 (Web)</title></anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓</anchor>として<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">レンダリング</anchor>されるなら、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓システム</anchor>に対して、 (必要があれば)
本<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">色</anchor>として提示するものです。
本<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">窓 (Web)</title></anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タブ</anchor>として<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">レンダリング</anchor>されるなら、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タブ</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">色</anchor>として使われるかもしれません。
その他、<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タイトルバー</f>などの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">レンダリング</anchor>にも使うかもしれません。</dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">favicon</f></dt><dd><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最上位閲覧文脈</f>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書</f>の <f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">favicon</f> (あれば)。
なければ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webブラウザー</anchor>依存の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アイコン</anchor>。
現在の一般的な <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webブラウザー</anchor>では、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タブ</anchor>に表示されます。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アドレスバー</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓</anchor>一覧などに表示されることもあります。</dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最小化</f></dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最小化</anchor>状態かどうかを表します。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書</anchor>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">可視性状態</f>に影響します。
値が変化した時 <code>visibilitychange</code> が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">発火</anchor>されるかもしれません。</dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">前景</f></dt><dd>同じ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓</anchor>の他の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タブ</anchor>によって隠れた状態でないかどうかを表します。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書</anchor>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">可視性状態</f>に影響します。
値が変化した時 <code>visibilitychange</code> が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">発火</anchor>されるかもしれません。</dd><dt><dfn><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォームの焦点を持つ</f></dfn></dt><dd>
本<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ウィンドウマネージャー</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フォーカス</anchor>を持った状態かどうかを表します。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Pointer Lock</anchor> 状態への移行時に参照されます。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フォーカス</anchor>を持っていても他の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タブ</anchor>が前景にあれば、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">偽</anchor>とするべきと思われます。
同じ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓</anchor>内に複数の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最上位閲覧文脈</anchor>が同時に表示された状態で本<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">閲覧文脈</anchor>に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フォーカス</anchor>がない時も、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">偽</anchor>とするべきと思われます。</dd></dl></figure></p></section><section><h1>レンダリング</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> そのまま<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓</anchor>として実装するのが初期の方法でしたが、
現在では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タブ</anchor>として実装するのが一般的になっています。
あるいは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MDI</anchor> における<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サブウィンドウ</anchor>として表現されることもあります。
その他の表現方法も可能でしょう。
いずれにせよ、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSSOM</anchor> の定義上は一括して<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">窓 (Web)</title></anchor>と呼ばれています。</p><history xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> かつては、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">モーダルダイアログ</anchor>として表示される<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">窓 (Web)</title></anchor>もありました
(<code class="DOMm" xml:lang="en">showModalDialog</code>)。</p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> かつては、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">二次的閲覧文脈</anchor>として、1つの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">窓 (Web)</title></anchor>に複数の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最上位閲覧文脈</anchor>が存在する形態も想定されていました。
これは本体の画面の他に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サイドバー</anchor>にも別の画面が埋め込まれた状態を表していました。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> この<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">仕様</anchor>は削除されましたが、1つの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓</anchor>に複数の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最上位閲覧文脈</anchor>を埋め込むこと自体が禁止されたわけではありません
(どのような<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓</anchor>の構成にし、どのように<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>に提供するかは、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webブラウザー</anchor>の裁量の範囲内です)。ただ、それは何らかの関係を持った<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">閲覧文脈</anchor>同士ではなく、
たまたま画面表示上並んでいるだけの別個の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">閲覧文脈</anchor>でしかないものとしなければならない、ということです。</comment-p></history><section><h1>窓と画面</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓</anchor>は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">画面</anchor>上に表示されます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">画面</anchor>における<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓</anchor>の位置に関する次の操作が定義されています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;17</anchor-internal></src>。<figure class="short list"><ul><li><code class="DOMm" xml:lang="en">moveTo</code></li><li><code class="DOMm" xml:lang="en">moveBy</code></li><li><code class="DOMa" xml:lang="en">screenX</code></li><li><code class="DOMa" xml:lang="en">screenY</code></li><li><code class="JS" xml:lang="en">window.open</code> <code class="DOM" xml:lang="en">left</code></li><li><code class="JS" xml:lang="en">window.open</code> <code class="DOM" xml:lang="en">top</code></li></ul></figure></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓</anchor>自体の大きさに関する次の操作が定義されています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;17</anchor-internal></src>。<figure class="short list"><ul><li><code class="DOMm" xml:lang="en">resizeTo</code></li><li><code class="DOMm" xml:lang="en">resizeBy</code></li><li><code class="DOMa" xml:lang="en">outerWidth</code></li><li><code class="DOMa" xml:lang="en">outerHeight</code></li><li><code class="JS" xml:lang="en">window.open</code> <code class="DOM" xml:lang="en">width</code></li><li><code class="JS" xml:lang="en">window.open</code> <code class="DOM" xml:lang="en">height</code></li></ul></figure></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> <code class="DOMm" xml:lang="en">resizeTo</code> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">viewport</anchor> の大きさを指定することで、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">窓 (Web)</title></anchor>の大きさを変更します <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;17</anchor-internal></src>。 <code class="DOMm" xml:lang="en">resizeBy</code>
は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">窓 (Web)</title></anchor>の大きさの差分を指定して変更します <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;17</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[26]</anchor-end> <code class="JS" xml:lang="en">window.open</code> において、<code class="DOM" xml:lang="en">left</code> と <code class="DOM" xml:lang="en">top</code>
は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">窓 (Web)</title></anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">左辺</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">上辺</anchor>の位置を指定するものとされています。
一方 <code class="DOM" xml:lang="en">width</code> と <code class="DOM" xml:lang="en">height</code> は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">viewport</anchor> の幅と高さを指定するものとされています。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;17</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[27]</anchor-end> これらの有用性や整合性を考慮すると、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">viewport</anchor> の大きさと<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">窓 (Web)</title></anchor>の大きさが連動することが期待されているようです。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[28]</anchor-end> <code class="DOMa" xml:lang="en">outerWidth</code> と <code class="DOMa" xml:lang="en">outerHeight</code>
は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">窓 (Web)</title></anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">幅</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">高さ</anchor>を返します <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;17</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> 位置の表現については、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">座標系</anchor>を参照。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マルチディスプレイ</anchor>環境については、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">画面</anchor>を参照。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[37]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">画面</anchor>の表示範囲外に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓</anchor>を配置できるかどうか、
できるとして<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">画面</anchor>からどれだけ離れられるかは、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>に依存します。<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>による制約がない場合であっても、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>の不便を防ぐため、また悪意ある<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">著者</anchor>による濫用を防ぐため、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">窓 (Web)</title></anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>の閲覧可能な範囲に入るように配置するべきです。</p><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[38]</anchor-end> <code>window.open</code> で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">画面</anchor>よりも大きな <code>width</code>
が指定された場合には、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>の不便を防ぐため、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>または
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webブラウザー</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">画面</anchor>の幅 (正確には左端位置を考慮した残りの幅)
に収まるように調整するべきです。実際<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">画面</anchor>サイズを考慮せず大画面想定の
<code>width</code> や <code>height</code> を指定して操作困難な <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webサイト</anchor>が存在しています。</p></example><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="39" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[39]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">画面</anchor>から完全に隠れた<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">窓 (Web)</title></anchor>を開けると、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>はそれに気づかないかもしれません。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">回線</anchor>利用料や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">電力</anchor>消費量を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>の気づかないうちに増大させたり、
意図しない<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">音声</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">再生</anchor>が開始されて操作困難になったりする危険性があります。</p></example><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="40" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[40]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タスクバー</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メニューバー</anchor>などの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">画面</anchor>上に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最前面</anchor>で表示される<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>の機能が存在しているときは、
それに隠れて操作不能となることも避ける必要があります。</p></example></section><section><h1>最小化</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[30]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>によっては、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓</anchor>を非表示状態にすることができ、
「<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最小化</anchor>」、「<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アイコン化</anchor>」などと呼ばれています。</p><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="31" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[31]</anchor-end> </ed></section></section><section><h1>変化への反応</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="44" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[44]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>によっては、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>の操作によって、あるいは他の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アプリケーション</anchor>の指示により、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">寸法</anchor>が変化することがあります。
細かな変化のほか、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最大化</anchor>と通常サイズ化の状態も多くの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>にあります。</p><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">プラットフォームからの変化の通知に対して・・・</ed><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="43" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[43]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">寸法</anchor>が変化すると、普通、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">viewport</anchor> もそれに応じた適切な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">寸法</anchor>に変更されます。
それによって<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">レンダリングの更新</anchor>があり <code>resize<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">onresize</title></code>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">イベント</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">発火</anchor>されたりします。</p><hr></hr><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="45" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[45]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>によっては、他の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アプリケーション</anchor>に切り替えたり、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最小化</anchor>したりできます。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webブラウザー</anchor>によっては<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タブ</anchor>などの形で同様の機能を
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webブラウザー</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アプリケーション</anchor>内部で実装していることが多いです。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="46" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[46]</anchor-end> 完全に非表示となる場合以外に、
他の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓</anchor>に一部または全部が隠されながら裏側で表示されていることもあります。</p><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">focus</anchor>,
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Page Visibility</anchor></ed></section><section><h1>フォーカス</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="33" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[33]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">固定状態</anchor>では、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">窓 (Web)</title></anchor>の外側も含め、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マウス</anchor>の操作によって<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フォーカス</anchor>が移動しないことが期待されています。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">固定状態</anchor>参照。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[34]</anchor-end> その実現のためには<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>にそのような機能が必要です。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webブラウザー</anchor>は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Pointer Lock</anchor> の状態の変化にあわせて<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">窓 (Web)</title></anchor>外の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フォーカス</anchor>の扱いを変更するよう、
適宜<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API</anchor> を通じて指示する必要があります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[35]</anchor-end> しかし他の操作や、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>の操作以外の理由で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フォーカス</anchor>が失われることがあります。
その場合<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">固定状態</anchor>を解除する必要があります。</p></section><section><h1>閉じる</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">窓 (Web)</title></anchor>には、「閉じる」操作が必要です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">窓 (Web)</title></anchor>を閉じることを選択すると、<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最上位閲覧文脈</f>について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">閲覧文脈を捨てる</anchor>操作を実行することが期待されています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> 実際上、これは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タブブラウザー</anchor>なら<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タブ</anchor>を閉じる操作かもしれませんし、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓</anchor>を閉じる操作によりその<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓</anchor>のすべての<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タブ</anchor>を同時に閉じるのかもしれません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">閲覧文脈を捨てる</anchor>際に、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプトを無効</anchor>にしても構わないとされています
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">閲覧文脈を捨てる</anchor>参照)。つまり<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプト</anchor>実行中など<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">閲覧文脈</anchor>が通常の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>の操作を直ちに受け付けない状態であっても、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">閲覧文脈を捨てる</anchor>機能を提供できます。実際、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプト</anchor>の暴走や、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">モーダルダイアログ</anchor>の乱用、 <code>onbeforeunload</code> や <code>onunload</code>
の処理が長い場合などを想定すると、通常の「閉じる」操作と、
それにより閉じられない場合に強制的に「閉じる」操作の両方を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>に提供する方が良さそうです。</p></section><section><h1>閲覧文脈の窓</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">閲覧文脈</anchor>は、<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">窓 (Web)</title></f>を持ちます。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最上位閲覧文脈</anchor>では、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">窓 (Web)</title></anchor>が値となります。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">入れ子閲覧文脈</anchor>では、 <code>null</code> です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">閲覧文脈</anchor>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">窓 (Web)</title></f>は、作成時に決まり、以後変化しません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSSOM View</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">仕様書</anchor>は、「<var>閲覧文脈</var>'s window」
のような表現を使っています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;17</anchor-internal></src> が、その定義は与えていません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CSSOM View</anchor> の <code class="DOMa" xml:lang="en">outerWidth</code> と <code class="DOMa" xml:lang="en">outerHeight</code>
は、「client window」という語を使っています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;17</anchor-internal></src> が、
その定義は与えていません。</p></section><section><h1>DnD</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[36]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DnD</anchor> 参照。</p></section><section><h1>関連</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> <code class="DOMi" xml:lang="en">Window</code> は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓</anchor>に対応する機能として作られたものですが、
現在では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">閲覧文脈</anchor>に近いものとして規定されています。</p></section><section><h1>歴史</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</anchor-end> <cite xml:lang="en">security: suggest ux element to identify automation windows</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">andreastt</anchor>著, <time>2016-09-22 01:03:44 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/w3c/webdriver/commit/a8ac274c1124ff24568d3579614dc65ff0c0d1c9">https://github.com/w3c/webdriver/commit/a8ac274c1124ff24568d3579614dc65ff0c0d1c9</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="41" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[41]</anchor-end> <cite xml:lang="en">Add FullscreenOptions dictionary to requestFullscreen by dtapuska · Pull Request #129 · whatwg/fullscreen</cite>
(<time>2018-10-17 16:09:51 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/fullscreen/pull/129">https://github.com/whatwg/fullscreen/pull/129</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="42" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[42]</anchor-end> <cite xml:lang="en">Request Fullscreen take additional options · Issue #123 · whatwg/fullscreen</cite>
(<time>2018-10-17 16:10:41 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/fullscreen/issues/123">https://github.com/whatwg/fullscreen/issues/123</anchor-external></p></section></body></html>