From df821208c608de1b7cdc6fe69ae28724ac1f01a0 Mon Sep 17 00:00:00 2001 From: MDN Date: Thu, 14 Oct 2021 00:47:38 +0000 Subject: [CRON] sync translated content --- .../web/api/credentialscontainer/create/index.html | 105 ++++++ .../index.html | 147 ++++++++ .../media_queries/using_media_queries/index.html | 406 +++++++++++++++++++++ 3 files changed, 658 insertions(+) create mode 100644 files/ja/conflicting/web/api/credentialscontainer/create/index.html create mode 100644 files/ja/conflicting/web/api/credentialscontainer/create_18148a708412fc42b1affe2f08eab270/index.html create mode 100644 files/ja/conflicting/web/css/media_queries/using_media_queries/index.html (limited to 'files/ja/conflicting') diff --git a/files/ja/conflicting/web/api/credentialscontainer/create/index.html b/files/ja/conflicting/web/api/credentialscontainer/create/index.html new file mode 100644 index 0000000000..7203131ea6 --- /dev/null +++ b/files/ja/conflicting/web/api/credentialscontainer/create/index.html @@ -0,0 +1,105 @@ +--- +title: PublicKeyCredentialCreationOptions.excludeCredentials +slug: conflicting/Web/API/CredentialsContainer/create +tags: + - API + - Property + - PublicKeyCredentialCreationOptions + - Reference + - Web Authentication API + - WebAuthn + - プロパティ +translation_of: Web/API/PublicKeyCredentialCreationOptions/excludeCredentials +original_slug: Web/API/PublicKeyCredentialCreationOptions/excludeCredentials +--- +
{{APIRef("Web Authentication API")}}{{securecontext_header}}
+ +

excludeCredentials は {{domxref("PublicKeyCredentialCreationOptions")}} 辞書の任意のプロパティであり、指定されたユーザーに既に存在する公開鍵の記述子を要素に持つ {{jsxref("Array")}} オブジェクトです。これは既存のユーザーに新しい認証情報を生成することを避けたい場合、パーティのサーバーから提供されます。

+ +

構文

+ +
excludeCredentials = publicKeyCredentialCreationOptions.excludeCredentials
+ +

+ +

{{jsxref("Array")}} で、以下のプロパティを持つオブジェクトを要素に持ちます。

+ +
+
type
+
文字列で、生成された公開鍵の認証情報の種類を表します。この文書の執筆時点 (2019年3月) では、 "public-key" のみが使用可能です。
+
id
+
{{domxref("BufferSource")}} で、既存の公開鍵の認証情報の識別子 ({{domxref("PublicKeyCredential.rawId")}}) に一致します。子の識別子は PublicKeyCredential インスタンスの生成時に生成されます。
+
transports {{optional_inline}}
+
文字列の {{jsxref("Array")}} で、クライアントと認証機器の通信方法を記述します。使用可能な文字列は次の通りです。 +
    +
  • "usb": 認証機器は取り外し可能な USB 接続で接続することができます
  • +
  • "nfc": 認証機器は NFC (Near Field Communication) を通して使用することができます
  • +
  • "ble": 認証機器は BLE (Bluetooth Low Energy) を通して使用することができます
  • +
  • "internal": 認証機器はクライアント端末の中に埋め込まれています (取り外せません)。
  • +
+
+
+ +

認証機器がすでにそのような公開鍵認証情報の一つを含んでいる場合、クライアントは {{domxref("DOMException")}} を発生さえるか、ユーザーに新しい認証情報を生成したいかを確認するかします。

+ +

+ +
var publicKey = {
+  excludeCredentials: [
+    {
+      type: "public-key",
+      // the id for john.doe@example.com
+      id  : new Uint8Array(26) /* this actually is given by the server */
+    },
+    {
+      type: "public-key",
+      // the id for john-doe@example.com
+      id : new Uint8Array(26) /* another id */
+    }
+  ],
+  challenge: new Uint8Array(26) /* this actually is given from the server */,
+  rp: {
+    name: "Example CORP",
+    id  : "login.example.com"
+  },
+  user: {
+    id: new Uint8Array(26), /* To be changed for each user */
+    name: "jdoe@example.com",
+    displayName: "John Doe",
+  },
+  pubKeyCredParams: [ {
+    type: "public-key",
+    alg: -7 } ]
+};
+
+navigator.credentials.create({ publicKey })
+  .then(function (newCredentialInfo) {
+    // send attestation response and client extensions
+    // to the server to proceed with the registration
+    // of the credential
+  }).catch(function (err) {
+     console.error(err);
+  });
+ +

仕様書

+ + + + + + + + + + + + + + + + +
仕様書状態備考
{{SpecName('WebAuthn','#dom-publickeycredentialcreationoptions-excludecredentials','excludeCredentials')}}{{Spec2('WebAuthn')}}初回定義
+ +

ブラウザーの互換性

+ +

{{Compat("api.PublicKeyCredentialCreationOptions.excludeCredentials")}}

diff --git a/files/ja/conflicting/web/api/credentialscontainer/create_18148a708412fc42b1affe2f08eab270/index.html b/files/ja/conflicting/web/api/credentialscontainer/create_18148a708412fc42b1affe2f08eab270/index.html new file mode 100644 index 0000000000..42f3cdcdfa --- /dev/null +++ b/files/ja/conflicting/web/api/credentialscontainer/create_18148a708412fc42b1affe2f08eab270/index.html @@ -0,0 +1,147 @@ +--- +title: PublicKeyCredentialCreationOptions +slug: >- + conflicting/Web/API/CredentialsContainer/create_18148a708412fc42b1affe2f08eab270 +tags: + - API + - Dictionary + - PublicKeyCredentialCreationOptions + - Reference + - Web Authentication API + - WebAuthn +translation_of: Web/API/PublicKeyCredentialCreationOptions +original_slug: Web/API/PublicKeyCredentialCreationOptions +--- +
{{APIRef("Web Authentication API")}}{{securecontext_header}}
+ +

PublicKeyCredentialCreationOptionsWeb Authentication API の辞書で、 {{domxref("CredentialsContainer.create()","navigators.credentials.create()")}} で {{domxref("PublicKeyCredential")}} を生成するために渡されるオプションを保持します。

+ +

プロパティ

+ +
+
{{domxref("PublicKeyCredentialCreationOptions.rp")}}
+
資格情報の生成のリクエスト元を示すオブジェクトです。
+
{{domxref("PublicKeyCredentialCreationOptions.user")}}
+
資格情報が生成されるユーザーアカウントを示すオブジェクトです。
+
{{domxref("PublicKeyCredentialCreationOptions.challenge")}}
+
{{domxref("BufferSource")}} 型で、証明書利用者のサーバーによって生成され、暗号チャレンジとして使用されるものです。この値は認証プロバイダーによって署名され、署名は {{domxref("AuthenticatorAssertionResponse.signature")}} の一部として送り返されます。
+
{{domxref("PublicKeyCredentialCreationOptions.pubKeyCredParams")}}
+
{{jsxref("Array")}} 型で、資格情報に要求される機能を指定する要素の配列です。暗号化署名の操作で使用される種類とアルゴリズムを含みます。この配列は設定の降順で並べ替えられます。
+
{{domxref("PublicKeyCredentialCreationOptions.timeout")}} {{optional_inline}}
+
数値のヒントで、取得操作が完了するまで呼び出し元が待機する時間をミリ秒単位で表します。このヒントは、ブラウザーによって上書きされる場合があります。
+
{{domxref("PublicKeyCredentialCreationOptions.excludeCredentials")}} {{optional_inline}}
+
{{jsxref("Array")}} で、既存の資格情報の記述子の配列です。これは、すでに資格情報を持つ既存のユーザーが新しい公開鍵資格情報を生成することを防ぐために、認証者によって提供されます。
+
{{domxref("PublicKeyCredentialCreationOptions.authenticatorSelection")}} {{optional_inline}}
+
生成操作で使用可能な認証機器を絞り込む条件をプロパティに持つオブジェクトです。
+
{{domxref("PublicKeyCredentialCreationOptions.attestation")}} {{optional_inline}}
+
{{jsxref("String")}} で、認証結果を (認証機器の元が) 送信する方法を示します。
+
{{domxref("PublicKeyCredentialCreationOptions.extensions")}} {{optional_inline}}
+
複数のクライアント拡張機能の入力を持つオブジェクトです。これらの拡張機能は、追加の処理を要求するために使用されます (例えば、従来の FIDO API 資格情報を処理、認証端末上でのテキストの要求など)。
+
+ +

メソッド

+ +

なし。

+ +

+ +
// some examples of COSE algorithms
+const cose_alg_ECDSA_w_SHA256 = -7;
+const cose_alg_ECDSA_w_SHA512 = -36;
+
+var createCredentialOptions = {
+    // Format of new credentials is publicKey
+    publicKey: {
+        // Relying Party
+        rp: {
+            name: "Example CORP",
+            id: "login.example.com",
+            icon: "https://login.example.com/login.ico"
+        },
+        // Cryptographic challenge from the server
+        challenge: new Uint8Array(26),
+        // User
+        user: {
+            id: new Uint8Array(16),
+            name: "john.p.smith@example.com",
+            displayName: "John P. Smith",
+        },
+        // Requested format of new keypair
+        pubKeyCredParams: [{
+            type: "public-key",
+            alg: cose_alg_ECDSA_w_SHA256,
+        }],
+        // Timeout after 1 minute
+        timeout: 60000,
+        // Do not send the authenticator's origin attestation
+        attestation: "none",
+        extensions: {
+          uvm: true,
+          exts: true
+        },
+        // Filter out authenticators which are bound to the device
+        authenticatorSelection:{
+          authenticatorAttachment: "cross-platform",
+          requireResidentKey: true,
+          userVerification: "preferred"
+        },
+        // Exclude already existing credentials for the user
+        excludeCredentials: [
+          {
+            type: "public-key",
+            // the id for john.doe@example.com
+            id  : new Uint8Array(26) /* this actually is given by the server */
+          },
+          {
+            type: "public-key",
+            // the id for john-doe@example.com
+            id : new Uint8Array(26) /* another id */
+          }
+        ]
+    }
+};
+
+// Create the new credential with the options above
+navigator.credentials.create(createCredentialOptions)
+  .then(function (newCredentialInfo) {
+    var attestationResponse = newCredentialInfo.response;
+    var clientExtensionsOutputs = newCredentialInfo.getClientExtensionsResults();
+
+    // Send the response to the relying party server
+    // it will verify the content and integrity before
+    // creating a new credential
+
+  }).catch(function (err) {
+    // Deal with any error properly
+    console.error(err);
+  });;
+
+ +

仕様書

+ + + + + + + + + + + + + + + + +
仕様書状態備考
{{SpecName('WebAuthn','#dictdef-publickeycredentialcreationoptions', 'PublicKeyCredentialCreationOptions dictionary')}}{{Spec2('WebAuthn')}}初回定義
+ +

ブラウザーの互換性

+ +

{{Compat("api.PublicKeyCredentialCreationOptions")}}

+ +

関連情報

+ + diff --git a/files/ja/conflicting/web/css/media_queries/using_media_queries/index.html b/files/ja/conflicting/web/css/media_queries/using_media_queries/index.html new file mode 100644 index 0000000000..fa90c0bda0 --- /dev/null +++ b/files/ja/conflicting/web/css/media_queries/using_media_queries/index.html @@ -0,0 +1,406 @@ +--- +title: メディア +slug: conflicting/Web/CSS/Media_Queries/Using_media_queries +tags: + - CSS + - Example + - Guide + - Intermediate + - NeedsMarkupWork + - NeedsUpdate + - Web + - ガイド + - 中級者 +translation_of: Web/Progressive_web_apps/Responsive/Media_types +original_slug: Web/Progressive_web_apps/Responsive/Media_types +--- +
{{QuickLinksWithSubpages("/ja/docs/Web/Progressive_web_apps/Responsive/")}}
+ +

これは CSS の第一歩チュートリアル第14章で、第1部の最終章です。このチュートリアルの多くのページでは、 CSS プロパティや値と、そのコンテンツを表示する方法を指定するための使い方に焦点を当てていました。

+ +

メディアについて

+ +

CSS の目的は、コンテンツがどのようにユーザーに表示されるのかを指定することです。この表示には複数の表現形式をとることができます。

+ +

例えば、おそらくあなたはこれをディスプレイ付きの端末で読んでいるでしょう。しかし、大画面に映して多くの人に読んでもらいたいと思うこともありますし、印刷したいと思ってう場合もあるでしょう。これらの様々なメディアには、それぞれ異なる特性があります。 CSS はメディアの種類に応じてコンテンツを提示する機能を持っています。

+ +

あるメディア種別に特有の規則を定義するには、 {{CSSxRef("@media")}} に続けてメディア種別を記述し、さらに続けて波括弧の中に規則を記述します。

+ +
+

+ +

あるウェブサイトの文書に、主要なサイトメニューを含むナビゲーション領域が設けられているとします。

+ +

マークアップ言語では、ナビゲーション領域の親要素は id nav-area を持っています ({{HTMLVersionInline(5)}} では、これは id 属性を持つ {{HTMLElement("div")}} 要素での代わりに、{{HTMLElement("nav")}} 要素でマークアップできます)。

+ +

文書を印刷するときにはナビゲーション領域は無意味ですから、この CSS (下記) では、文書を印刷する際にはナビゲーション領域を削除します。

+ +
@media print {
+  #nav-area {display: none;}
+  }
+
+
+ +

よく知られたメディア種別には次のようなものがあります。

+ + + + + + + + + + + + + + + + + + + + +
screen端末のカラーディスプレイ
printページ単位に印刷されるメディア
projectionプロジェクター
allすべてのメディア (既定値)
+ +
+

より詳しく

+ +

ある規則の集合にメディア種別を定義する方法は、他にもあります。

+ +

文書のマークアップ言語によっては、スタイルシートが文書にリンクされたときに、メディア種別を定義できるものがあります。例えば、 HTML では LINK 要素の media 属性を使ってメディア種別を指定することができます。

+ +

CSS ではスタイルシートの初めに {{CSSxRef("@import")}} を使って、 URL から他のスタイルシートを読み込むことができ、オプションとしてメディア種別を指定することができます。

+ +

これらは、様々なメディア種別のスタイル付け規則を異なるファイルに分離する方法です。

+ +

メディア種別の完全な説明は、 CSS 仕様書の Media をご覧ください。

+ +

{{CSSxRef("display")}} プロパティのその他の利用例は、このチュートリアルの後で登場する XML データ のページにあります。

+
+ +

印刷

+ +

CSS には、印刷や、一般のページ付けされたメディアに特有の対応があります。

+ +

{{CSSxRef("@page")}} 規則で、ページマージンを設定できます。両面印刷には、マージンを @page:left@page:right で別々に指定できます。

+ +

印刷メディアでは通常、インチ (in) や ポイント (pt = 1/72 inch)、センチメートル (cm) や ミリメートル (mm) など、適切な単位を使います。フォントの大きさにあわせるために em (em) を使ったり、パーセント値 (%) を使ったりするのも同様に適切です。

+ +

ページ境界における文書の内容の分割方法を、 {{CSSxRef("page-break-before")}}, {{CSSxRef("page-break-after")}}, {{CSSxRef("page-break-inside")}} プロパティを使って制御することができます。

+ +
+

+ +

次の規則はページの四辺の余白を1インチに設定します。

+ +
@page {margin: 1in;}
+
+ +

次の規則は、すべての H1 要素が確実に新しいページで始まるようにします。

+ +
h1 {page-break-before: always;}
+
+
+ +
+

さらに詳しく

+ +

ページ付メディアへの CSS の対応の詳細は、 CSS 仕様書の Paged media をご覧ください。

+ +

CSS の他の機能と同様に、印刷はブラウザーの選択とその設定に依存します。例えば、 Mozilla ブラウザーでは、印刷用に既定の余白、ヘッダー、フッターが用意されています。印刷される書式を完全に制御することはできないことを覚えておいてください。印刷時にすべてのユーザーのブラウザーの選択や設定を予測することは不可能です。

+
+ +

ユーザーインターフェイス

+ +

CSS は、コンピューターのディスプレイのようなユーザーインターフェイスを持つ端末のために、特別なプロパティを持っています。これらのプロパティは、ユーザーが作業するインターフェイスの近哲の表示方法を動的に変更することができます。

+ +

5つの特別なセレクターがあります。

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
セレクター選択対象
E{{CSSxRef(":hover")}}ポインターが上にあるすべての E 要素
E{{CSSxRef(":focus")}}キーボードフォーカスを持つすべての E 要素
E{{CSSxRef(":active")}}現在のユーザーの行動に関係する E 要素
E{{CSSxRef(":link")}}ユーザーが未訪問の URL へのハイパーリンクのある E 要素
E{{CSSxRef(":visited")}}ユーザーが訪問済みの URL へのハイパーリンクのある E 要素
+ +
+

注: :visited セレクターで獲得できる情報は {{gecko("2.0")}} で制限されました。詳細についてはプライバシーと :visited セレクターをご覧ください。

+
+ +

{{CSSxRef("cursor")}} プロパティは、ポインターの形を定義します。よく使われる形は以下のとおりです。マウスを以下のリストの項目上に置いて、あなたのブラウザーで実際に使われるポインターの形を見てみてください。

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
セレクター選択対象
pointerリンクを示します
waitプログラムが入力を受け付けられないことを示します
progressプログラムが動作しているが、入力が受付可能であることを示します
default既定値 (通常は矢印)
+ +

{{CSSxRef("outline")}} プロパティは、キーボードフォーカスを表すためによく使われる輪郭を作ります。その値は {{CSSxRef("border")}} プロパティに似ていますが、特定の辺だけには定義できない点が異なります。

+ +

ユーザーインターフェイスの他のいくつかの機能は、通常の方法で、属性を使って提供されます。例えば、利用不能、もしくは読み取り専用の要素は disabled 属性または readonly 属性を持ちます。セレクターは、他の属性と同じく、 [disabled][readonly] のように角括弧を使ってこれらの属性を定義することができます。

+ +
+

+ +

次の規則は、ユーザー操作に対し、動的に変化するようなボタンのスタイルを定義します。

+ +
.green-button {
+  background-color:#cec;
+  color:#black;
+  border:2px outset #cec;
+  padding: 5px 10px;
+  }
+
+.green-button[disabled] {
+  background-color:#cdc;
+  color:#777;
+  }
+
+.green-button:active, .green-button.active {
+  border-style: inset;
+  }
+
+ +
<table>
+ <tbody>
+  <tr>
+   <td><button class="green-button" disabled>Click me</button></td>
+   <td><button class="green-button">Click me</button></td>
+   <td><button class="green-button active">Click me</button></td>
+  </tr>
+  <tr style="line-height:25%;">
+   <td>&nbsp;</td>
+  </tr>
+  <tr style="font-style:italic;">
+   <td>disabled</td>
+   <td>normal</td>
+   <td>active</td>
+  </tr>
+ </tbody>
+</table>
+
+ +

ライブ例

+ +

{{ EmbedLiveSample('User_interfaces', '', '', '', 'Web/Apps/Progressive/Responsive/Media_types') }}

+ +

フル機能を持つボタンでは、デフォルトならボタンの周囲に濃い輪郭線を描き、キーボードフォーカスを受けるとボタン表面に点線の輪郭線を描きます。ポインターを上に置いたときのホバー効果も持っているかもしれません。

+
+ +
+

さらに詳しく

+ +

CSS におけるユーザーインターフェイスについての詳細は、 CSS 仕様書の User interface をご覧ください。

+このチュートリアルのパートIIでは、 Mozilla のユーザーインターフェイスのためのマークアップ言語の例があります。 + + +
+ +

実習: 文書を印刷する

+ +
+

注: CSS カウンターを使ったページ番号の印刷は Firefox でのみ動作します。仕様書では動作が定義されているか、他のブラウザーで対応するかどうかは不明確です。 issue filed with Chromium を参照してください。

+
+ +
    +
  1. 新しい HTML 文書 doc4.html を作成してください。次の内容をコピー&ペーストしてください。 + +
    <!DOCTYPE html>
    +<html>
    +  <head>
    +    <title>Print sample</title>
    +    <link rel="stylesheet" href="style4.css">
    +  </head>
    +  <body>
    +    <h1>Section A</h1>
    +    <p>This is the first section...</p>
    +    <h1>Section B</h1>
    +    <p>This is the second section...</p>
    +    <div id="print-head">
    +      Heading for paged media
    +    </div>
    +    <div id="print-foot">
    +      Page:
    +    </div>
    +</body>
    +</html>
    +
    +
  2. +
  3. 新しいスタイルシート style4.css を作成してください。次の内容をコピー&ペーストしてください。 +
    /*** Print sample ***/
    +
    +/* defaults  for screen */
    +#print-head,
    +#print-foot {
    +  display: none;
    +  }
    +
    +/* print only */
    +@media print {
    +
    +h1 {
    +  page-break-before: always;
    +  padding-top: 2em;
    +  }
    +
    +h1:first-child {
    +  page-break-before: avoid;
    +  counter-reset: page;
    +  }
    +
    +#print-head {
    +  display: block;
    +  position: fixed;
    +  top: 0pt;
    +  left:0pt;
    +  right: 0pt;
    +
    +  font-size: 200%;
    +  text-align: center;
    +  }
    +
    +#print-foot {
    +  display: block;
    +  position: fixed;
    +  bottom: 0pt;
    +  right: 0pt;
    +
    +  font-size: 200%;
    +  }
    +
    +#print-foot:after {
    +  content: counter(page);
    +  counter-increment: page;
    +  }
    +
    +} /* end print only */
    +
    +
  4. +
  5. ブラウザーで文書を見てみましょう。お使いのブラウザーの既定のスタイルが使われています。
  6. +
  7. 文書を印刷 (または印刷プレビュー) してください。スタイルシートは各セクションをページにわけ、各ページにヘッダーとフッターを追加します。お使いのブラウザーがカウンターをサポートしていれば、フッターにページ番号を追加します。 + + + + + + + +
    + + + + + + +
    + + + + + + +
    +
    Heading for paged media
    + +
    Section A
    + +
    This is the first section...
    + +
    Page: 1
    +
    +
    +
    + + + + + + +
    + + + + + + +
    +
    Heading for paged media
    + +
    Section B
    + +
    This is the second section...
    + +
    Page: 2
    +
    +
    +
    +
  8. +
+ + + + + + + + +
+

チャレンジ

+
印刷に特化したスタイルの規則を、別の CSS ファイルに移してください。 +

リファレンスの {{CSSxRef("@import")}} のページを読み、あなたの style4.css スタイルシートに、新しい印刷用のCSS ファイルをインポートする詳しい方法を見つけてください。

+ +

ポインターが上にあるときに、見出しを青く変えるようにしてください。

+
+ +

チャレンジの解答を見る。

+ +

さて次は?

+ +

このページに、理解しづらい点や、意見がありましたら Discussion ページに投稿してください。

+ +

これまでに、このチュートリアルのすべてのスタイル規則はファイル内に定義されてきました。規則とその値は固定されています。次のページでは、プログラミング言語 JavaScript を使った、規則の動的な変更方法について述べます。

-- cgit v1.2.3-54-g00ecf