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

PD1指示語言

規則識別碼

PD1

規則名稱

指示語言

規則類型

原子規則

規則說明

指定頁面或應用程式的語言,並且必須指示語言的更改。

無障礙要求對應

網站無障礙規範

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

適用性

適用於語言。

期望

根據指示語言使閱讀軟體可正確閱讀出頁面內容。

假設條件

可以使用除lang屬性之外的其他方法來設置頁面的語言,例如,使用HTTP標頭或meta元素。並非所有輔助技術都支持這些方法。該規則假定其他方法不足以滿足「成功準則3.1.1 網頁語言」。

無障礙支援

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

測試案例:

作業系統

iOS

Android

HTML

範例說明

 VoiceOver預設以使用者設定VoiceOver使用的語言報讀應用程式內的內容。因此,如果應用程式是不同的語言,VoiceOver可能無法正確報讀。為解決此問題,確保透過accessibilityLanguage屬性正確設定應用程式的語系,以利依期望的內容報讀。

如果應用程式支援多種語言,讓內容本地化很重要,更多細節可參考 Apple’s localization resources|

根據初步調查結果,無法以程序化改變TalkBack的語言,因此TalkBack將根據使用者預設的語言設定報讀所有內容,若有更多的資訊公開時,將再更新此技術內容。

使用html元素上的lang屬性來指定頁面語言。並使用lang屬性指出頁面中語言的變更。

成功範例原始碼

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

 [application setAccessibilityLanguage = @"en-EN"];  //

This will set the default language to English. Other options include "de" for German, "fr" for French, "es" for Spanish and so on.

       return true

}

// res/values-xx/strings.xml file is provided for each supported language where xx is the 2 letter code for each language (en=English, de=German, etc.)

<TextView

android:layout_height="wrap_content"

android:layout_width="match_parent"

android:text="@string/some_text"/>

 <!-- HTML -->

<html lang="en">

...

<!-- XHTML -->

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">

  …

  <p>Language options:</p>

  <ul>

    <li><a href="…">English</a></li>

    <li><a href="…"><span lang="es">Español</span></a></li>

  </ul>

失敗範例原始碼

UIButton *nextButton = [UIButton buttonWithType:UIButtonTypeCustom];

UIButton *priorButton = [UIButton buttonWithType:UIButtonTypeCustom];

[nextButton setTitle: @"Next story" forState:UIControlStateNormal];

[priorButton setTitle: @"Prior story" forState:UIControlStateNormal];

...

// Specific language wanted for this label not set, no comment for translator

[aButton setAccessibilityLabel:NSLocalizedString(@"Label", nil)];

// res/values/strings.xml

<TextView

android:layout_height="wrap_content"

android:layout_width="match_parent"

android:text="some_text"/>

<!-- HTML -->

<html>

...

<!-- XHTML -->

<html xmlns="http://www.w3.org/1999/xhtml">

...

<div>

<h2>Upcoming Spanish Holidays</h2>

<p>Les Fogueres de Sant Joan.</p>

</div>  

...

</html>

測試程序

  1. 設置作業系統語言。
  2. 以作業系統標準輔助技術啟用的情況下啟動應用程式。
  3. 驗證以下內容是否以正確的語言顯示或報讀:
    • 文字
    • 網站/應用程式不同語言的文字
    • 文字圖片
    • 網站/應用程式不同語言的文字圖片
    • 標籤
    • 提示
    • 聲音
    • 影片字幕
    • 頁面和螢幕標題
    • 網站/應用程式不同語言的圖片、物件和元件的替代內容

參考詞彙:無

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

參考資源:

  1. Indicating language, 2019/2017BBC行動裝置無障礙指南(MOBILE ACCESSIBILITY GUIDELINES)。
  2. H57: Using language attributes on the html element, Techniques for WCAG 2.0。