-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #268 from freee/develop
RELEASE Ver. 202409.0 (2024-09-26)
- Loading branch information
Showing
15 changed files
with
237 additions
and
52 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
id: '0154' | ||
sortKey: 100910 | ||
severity: critical | ||
target: design | ||
platform: | ||
- mobile | ||
check: | ||
ja: |- | ||
アプリケーション固有の独自ジェスチャーを用いなければ利用できないような機能が設計資料に存在しない。 | ||
en: |- | ||
There are no functions in the design documents that cannot be used without using application-specific unique gestures. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
id: gl-input-device-mobile-standard-gestures | ||
sortKey: 1303 | ||
category: input_device | ||
title: | ||
ja: モバイルOS標準のジェスチャーによる操作 | ||
en: Operation by Mobile OS Standard Gestures | ||
platform: | ||
- mobile | ||
guideline: | ||
ja: |- | ||
モバイル・アプリケーションにおいて、そのアプリケーション固有の独自ジェスチャーを用いなければ利用できないような機能がなく、すべての機能はOS標準のジェスチャーによって操作できる。 | ||
en: |- | ||
In mobile applications, there are no functions that cannot be used without using application-specific unique gestures, and all functions can be operated by OS standard gestures. | ||
sc: | ||
- 2.5.1 | ||
intent: | ||
ja: |- | ||
OSの標準ではないタッチ・ジェスチャーを使うことが難しい上肢不自由者や視覚障害者が、コンテンツを利用できるようにする。 | ||
en: |- | ||
Ensure that users with upper limb disabilities or visual impairments who find it difficult to use touch gestures that are not standard in the OS can use content. | ||
checks: | ||
- '0154' | ||
info: | ||
- exp-mobile-a11y-basics |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -38,3 +38,5 @@ checks: | |
- '0172' | ||
- '0581' | ||
- '0586' | ||
info: | ||
- exp-mobile-a11y-basics |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
.. _exp-mobile-a11y-basics: | ||
|
||
######################################################## | ||
Basic Principles of Accessibility in Mobile Applications | ||
######################################################## | ||
|
||
When creating an accessible mobile application, many aspects, such as methods of presenting information, can follow the same principles as Web accessibility. | ||
This section explains the basic principles specific to mobile application accessibility. | ||
|
||
*************************************************** | ||
Avoid Creating Application-Specific Custom Gestures | ||
*************************************************** | ||
|
||
To ensure that users who rely on assistive technologies, such as screen readers or switch interfaces, can operate a mobile application, all features of the application must be accessible through the standard gestures provided by the mobile OS. | ||
Standard gestures are designed with accessibility in mind, and corresponding methods of operation are defined when assistive technologies are in use. | ||
For example, a standard tap gesture can be executed with a double tap when a screen reader is in use. | ||
As such, standard gestures have high compatibility with assistive technologies, ensuring that all users can interact with the application without frustration. | ||
|
||
On the other hand, custom gestures implemented within the application may not be recognized correctly by assistive technologies and may not work in certain usage environments. | ||
Furthermore, users must learn and master such gestures, making the application less user-friendly. | ||
|
||
Therefore, all features offered by the application must be accessible using standard mobile OS gestures. | ||
While there is no problem in offering custom gestures themselves, functions that depend solely on such gestures for use should not be created. | ||
|
||
Standard Gestures for User Interaction | ||
====================================== | ||
|
||
The standard gestures provided by mobile OSs are extensive, with many available methods of interaction, but most users do not know all of them. Therefore, when considering accessibility, it is important to design the interface around simple and intuitive interactions. | ||
|
||
In particular, when a screen reader is enabled, it is recommended to design the application so that all information can be accessed and all functions can be executed using only basic gestures, such as a one-finger left/right flick and a one-finger double tap. This approach allows users to operate the application smoothly without needing to learn additional or complex gestures. | ||
|
||
Additionally, in situations where the screen reader is disabled, it is safe to base interactions on gestures that most users are already familiar with, such as taps and long presses. This not only makes the application easier to use for non-assistive technology users, but also often leads to improved accessibility when assistive technologies are in use. These simple interactions can be easily recognized by assistive technologies, maintaining consistency in user experience, which ultimately contributes to overall accessibility improvements. | ||
|
||
Of course, there is no issue with using other standard gestures as well. However, it is important to share a clear understanding within the development team of which gestures will be supported, and to ensure consistency in UI design. A lack of consistency in the UI can lead to confusion, especially for users relying on assistive technologies or those unfamiliar with gestures. | ||
|
||
**************************************** | ||
Ensure Compatibility with Screen Readers | ||
**************************************** | ||
|
||
Ensuring that all functions can be operated without issues using a screen reader is a critical aspect of mobile application accessibility. | ||
This is because making the application accessible to screen reader users generally makes it easier to operate for users of many other assistive technologies as well. | ||
|
||
For example, if components can be correctly focused using a screen reader, users of switch interfaces will also be able to access those components easily. | ||
Similarly, if all interface elements on the screen are read out correctly by the screen reader, users who rely on voice recognition to operate the application will also be able to specify those components and give the necessary commands. | ||
|
||
********************************** | ||
When Custom Gestures Are Essential | ||
********************************** | ||
|
||
There are cases where the use of custom gestures is essential, such as when requiring a handwritten signature. | ||
However, even in such cases, it is important to first consider whether there are alternative ways to achieve the same purpose without relying on such implementations. | ||
|
||
If custom gestures remain indispensable, it is necessary to implement them in a way that ensures they can still be operated smoothly when assistive technologies are in use. | ||
|
||
.. include:: /inc/info2gl/exp-mobile-a11y-basics.rst |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
.. _exp-mobile-a11y-basics: | ||
|
||
############################################################## | ||
モバイル・アプリケーションのアクセシビリティーに関する基本事項 | ||
############################################################## | ||
|
||
アクセシビリティーが高いモバイル・アプリケーションを実現する上でも、情報の表現方法など多くの部分はWebと同様の考え方を適用することができます。 | ||
ここでは、モバイル・アプリケーション固有のアクセシビリティーに関する基本事項について説明します。 | ||
|
||
************************************************ | ||
アプリケーション固有の独自ジェスチャーを作らない | ||
************************************************ | ||
|
||
スクリーン・リーダーやスイッチ・インターフェースなど、さまざまな支援技術を使用しているユーザーがモバイルアプリケーションを操作できるようにするためには、アプリケーションが提供するすべての機能をモバイルOSの標準ジェスチャーによって利用できるようにする必要があります。 | ||
標準ジェスチャーは、アクセシビリティーを考慮して設計されており、支援技術を使用した際には、対応する操作方法が定められています。 | ||
たとえば、標準的なタップのジェスチャーは、スクリーン・リーダー使用時にはダブルタップによって実行可能です。 | ||
このように、標準ジェスチャーは支援技術との互換性が非常に高く、あらゆるユーザーがストレスなくアプリケーションを利用できるよう配慮されています。 | ||
|
||
一方、アプリケーションが独自に実装したジェスチャーは、支援技術によって正しく認識されない場合があり、利用環境によっては実行できない場合があります。 | ||
また、ユーザーがそのジェスチャーを学習・習得する必要があるため、ユーザーにとって利用しにくい場合もあります。 | ||
|
||
したがって、アプリケーションが提供するすべての機能は、モバイルOSの標準ジェスチャーを使って利用可能であることが必須です。 | ||
独自ジェスチャーを提供すること自体に問題はありませんが、そのジェスチャーに依存しなければ使えない機能は作るべきではありません。 | ||
|
||
使用する標準ジェスチャー | ||
======================== | ||
|
||
モバイルOSの標準ジェスチャーは非常に豊富で、多くの操作方法が存在しますが、ほとんどのユーザーはそのすべてを熟知しているわけではありません。そのため、アクセシビリティーを考慮する際には、なるべくシンプルで直感的な操作をベースに設計することが重要です。 | ||
|
||
特にスクリーン・リーダーが有効な場合は、1本指による左右方向へのフリックと1本指によるダブルタップといった基本的なジェスチャーだけしか使わなくても、すべての情報にアクセスでき、すべての機能が実行できるように設計することが推奨されます。これにより、ユーザーが追加の学習や複雑な操作を必要とせず、スムースにアプリケーションを使用できます。 | ||
|
||
また、スクリーン・リーダーが無効な場合においては、タップや長押しといったほとんどのユーザーが既に知っているジェスチャーを前提とすることで、支援技術を使用していないユーザーにも使いやすくなるだけでなく、結果的に支援技術利用時のアクセシビリティーを高めることにもつながります。これらのシンプルな操作は、支援技術によっても問題なく認識され、操作感に一貫性を持たせることができるため、アクセシビリティー全体の向上に寄与します。 | ||
|
||
もちろん、これら以外の標準ジェスチャーを用いることに問題はありません。しかし、開発チーム内で「どのジェスチャーを使えるようにするか」という前提を共有し、一貫性を保ったUI設計を行うことが大切です。一貫性がないUIは、支援技術を利用しているユーザーやジェスチャーに慣れていないユーザーの混乱を招くことにつながります。 | ||
|
||
****************************************** | ||
スクリーン・リーダーで利用できるようにする | ||
****************************************** | ||
|
||
すべての機能がスクリーン・リーダーを使用して問題なく操作できるようにすることは、モバイル・アプリケーションのアクセシビリティーにおいて非常に重要です。 | ||
これは、スクリーン・リーダーで適切に利用できるようにしておくことで、他の多くの支援技術でも同様に操作しやすくなる可能性が高いためです。 | ||
|
||
たとえば、スクリーン・リーダーでコンポーネントに正しくフォーカスが当たるようになっていれば、スイッチ・インターフェースのユーザーも同じくそのコンポーネントに簡単にアクセスできます。 | ||
また、画面上のすべてのインターフェース要素がスクリーン・リーダーで正確に読み上げられるようになっていれば、音声認識による操作を行うユーザーも、そのコンポーネントを指定して、必要な操作を指示できるようになります。 | ||
|
||
****************************** | ||
独自ジェスチャーが不可欠な場合 | ||
****************************** | ||
|
||
たとえば自筆の署名を求めるような場合など、独自のジェスチャーの利用が不可欠な場合もあります。 | ||
ただ、そのような場合も、まずはそもそもその機能の目的を達成するための手段として、そのような実装以外に実現手段がないのかを検討することが重要です。 | ||
|
||
それでもなお独自ジェスチャーが不可欠な場合は、支援技術が利用されている場合にも問題無く操作できるような実装の工夫が必要です。 | ||
|
||
.. include:: /inc/info2gl/exp-mobile-a11y-basics.rst | ||
|
||
.. translated:: true | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
.. _ver-202409-0: | ||
|
||
********************************************************************************************** | ||
`Ver. 202409.0 (2024年9月26日) <https://github.com/freee/a11y-guidelines/releases/202409.0>`__ | ||
********************************************************************************************** | ||
|
||
* WCAG 2.1の達成基準2.5.1に対応するモバイル・アプリケーションを対象としたガイドライン項目と関連する解説を追加: | ||
|
||
- 入力ディバイス: :ref:`gl-input-device-mobile-standard-gestures` | ||
- :ref:`exp-mobile-a11y-basics` | ||
|
||
* アクセシビリティー・チェック・リストをV5.1.0に更新 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.