タブ or スペース:アクセシビリティの観点からインデントを考える
開発において、インデントをスペースにするかタブにするかは、永遠のテーマと言えるでしょう。
私は今回、Change indentation from tabs to spaces · Issue #214 · giselles-ai/giselle にてインデントをスペースに変更しようと試みました。
しかし、Default to tabs instead of spaces for an ‘accessible first’ environment · Alexander Sandberg という記事の存在を知り、考えを改めました。
この記事では、アクセシビリティの観点から、なぜタブをデフォルトにするべきかについて解説します。
まず、タブとスペースそれぞれのメリットを簡単にまとめます。
上記のように、スペースにもメリットはありますが、アクセシビリティの観点ではタブが圧倒的に優位です。
Alexander Sandberg氏の記事では、Redditの投稿を引用し、タブの重要性について述べています。 視覚に障碍のある開発者の中には、タブ幅を1に設定して大きなフォントサイズでもインデントが大きくなりすぎるのを避けたり、モニター環境に合わせてタブ幅を8に設定したりする人もいます。 このように、タブを使用することで、各個人の環境に合わせてインデント幅を柔軟にカスタマイズできます。
「モバイルファースト」という考え方があるように、開発環境においても「アクセシブルファースト」を意識すべきです。 つまり、誰もが同じように開発できる環境を整備することが重要です。 タブを使用することは、そのための重要な要素の一つとなります。
記事中にもあるように、
“there’s just no counter-argument that even comes close to outweighing the accessibility needs of valued coworkers”
という言葉が全てを物語っています。
タブを使用することで、個人の環境に合わせて柔軟にインデント幅を調整できるため、より多くの人が快適に開発に参加できます。
関連記事: GitHubのコードのタブインデントの表示を調整する方法
インデントをスペースに変更しようとした今回のissueは、アクセシビリティという観点からタブの重要性を再認識する良い機会となりました。
すべての開発者が快適に開発できる環境を目指し、アクセシビリティに配慮した開発を心がけたいと思います。
以上、インデントとアクセシビリティについて考察した、現場からお送りしました。