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

NT3標準作業系統通知

規則識別碼

NT3

規則名稱

標準作業系統通知

規則類型

原子規則

規則說明

在可用且適當的地方,應使用標準作業系統通知。

無障礙要求對應

網站無障礙規範

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

適用性

適用於通知內容。

期望

以下檢查正確:

  • 該應用程序使用操作系統標準方法來提供應用程序層級或非操作觸發的警告,並透過輔助技術向使用者指示錯誤。

假設條件

當前沒有任何假設。

無障礙支援

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

測試案例:

作業系統

iOS

Android

HTML

範例說明

使用UIAlertController顯示包含錯誤訊息的訊息對話框。

使用AlertDialog顯示錯誤訊息。只要使用此功能,就可以訪問錯誤訊息及其相關功能。

JavaScript警告是HTML滿足此標準的一種選擇。

成功範例原始碼

UIAlertView *messageBox = [[UIAlertView alloc] initWithTitle: NSLocalizedString(@"Error") message: NSLocalizedString(@"You must enter an email address") delegate:nil cancelButtonTitle: NSLocalizedString(@"OK") otherButtonTitles:nil];

[messageBox show];

//Use an Android standard alert dialog to display error messages

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

 

builder.setMessage(//Error Message String)

builder.setCancelable(true);

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

    public void onClick(DialogInterface dialog, int id) {

dialog.cancel();

    }

});

AlertDialog alert=builder.create();   

<script>

    alert('Status message');

</script> 

失敗範例原始碼

// Display an error message in some other way.

[emailField setAccessibilityLabel:@"ERROR: Email (required)"];

//A error on the screen causes a Toast notification on field validation

<TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:id="@+id/email_label" android:text="Email"></TextView>

<EditText android:id="@+id/email" android:inputType="text" android:hint="@string/email_field" android:layout_height="wrap_content" android:layout_width="wrap_content"></EditText>

<Button android:text="Submit" android:id="@+id/submit_form_button" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>

 

final EditText emailField = (EditText) findViewById(R.id.email);

final Button button = (Button) findViewById(R.id.submit_form_button);

button.setOnClickListener(new OnClickListener() {

    public void onClick(View v) {

        String email = emailField.getText().toString();

        if(...) {

            Toast.makeText(getApplicationContext(), "Email fields does not match", Toast.LENGTH_SHORT).show();

        } else {

            submitForm(email);

        }

    }

});

-

測試程序

  1. 啟動螢幕報讀軟體。
  2. 在應用程式觸發警告或錯誤,例如:超時、更新通知與伺服器連接時出錯,或在連接其他應用程式的錯誤或警告。
  3. 驗證警告或錯誤通知是否由輔助技術發布。

參考詞彙:無

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

參考資源:
Standard operating system notifications, 2019/2017 BBC行動裝置無障礙指南(MOBILE ACCESSIBILITY GUIDELINES)。