跳到主要內容
  • 字級
:::|

DC5超時

規則識別碼

DC5

規則名稱

超時

規則類型

原子規則

規則說明

時間限制的回應必須可調整。

無障礙要求對應

網站無障礙規範

  • 2.2.1 計時調整 (檢測等級A)
    • 必須符合 WCAG 2.0和WCAG 2.1 A級或更高級別
    • 結果對應:
      • 任何失敗結果:不符合
      • 所有成功結果:需進一步測試
      • 未適用結果:需進一步測試

適用性

適用於動態內容。

初始使用提醒時間限制是否關閉或延長時限,可通過此檢核點。

期望

以下任一檢查正確:

  • 當表單或活動有時間限制時,使用者可關閉時間限制功能。
  • 使用者可以請求更多時間來完成表單/活動。
  • 使用者可以在超時前修改延長足夠的時間。

假設條件

當前沒有任何假設。

無障礙支援

此規則沒有已知的主要無障礙功能支援問題。

測試案例:

作業系統

iOS

Android

HTML

範例說明

提供UIAlertView讓使用者在應用程式超時前至少20秒,可延長所需的時間。

提供AlertDialog讓使用者在應用程式超時前至少20秒,可延長所需的時間。

使用JavaScript的setTimeout方法設定時間限制,並使用confirm函式讓使用者在應用程式超時前至少20秒,可延長所需的時間。

成功範例原始碼

 UIAlertView *messageBox = [[UIAlertView alloc] initWithTitle: NSLocalizedString(@"Warning") message: NSLocalizedString(@"Your session will end in 20 seconds. Press OK to continue.") delegate:nil cancelButtonTitle: NSLocalizedString(@"OK") otherButtonTitles:nil];

[messageBox show];

 AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setTitle("Warning");

builder.setMessage("Your session will end in 20 seconds. Press OK to continue.");

builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int id) {

  dialog.cancel();

  }

});

AlertDialog alert = builder.create();

alert.show();

 <head>

  <script>

  var sessionTime;

  function setTimer() {

    // [N] = the session time in seconds, less twenty seconds.

    sessionTime = setTimeout("displayTimeoutAlert()", [N]);

  }

  function displayTimeoutAlert() {

    var sessionChoice = confirm("Your session is about to expire. Do you require more time?")

    if (sessionChoice == true) {

      sessionTime = setTimeout("displayTimeoutAlert()", [N]);

    } else {

      alert("Your session has ended. Please log in again.");

    }

  }

  </script>

</head>

<body onload="setTimer();">

  …

</body>

失敗範例原始碼

 

 

<head>

<script type="text/javascript">

    var time ; global to keep track of time

    function setTimer() {

        time = setTimeout("displayAlert()",300000);

    }

    function displayAlert() {

        alert("Your session has ended");

    }

</script>

</head>

<body onload="setTimer();">

...

</body>

測試程序

  1. 啟動應用程式。
  2. 確定應用程式是否包含必須在指定時間內完成的表單或活動內容。
  3. 驗證該應用程式允許使用者執行以下操作之一:
    • 在發生超時之前將其取消
    • 延長當前活動階段的時間
    • 增加時間限制
      1. 驗證是否在超時至少20秒前警告使用者。
      2. 驗證是否警告操作期間輸入的任何數據將在超時時被刪除。
      3. 驗證使用者使用替代輸入方式可以接續或延長時間。

參考詞彙:無

變更記錄:20200817-第1次編撰。

參考資源:

  1. Timeouts, 2019/2017 BBC行動裝置無障礙指南(MOBILE ACCESSIBILITY GUIDELINES)。
  2. G198: Providing a way for the user to turn the time limit off, Techniques for WCAG 2.0。
  3. G180: Providing the user with a means to set the time limit to 10 times the default time limit, Techniques for WCAG 2.0。