Melanie Sumner は、デジタル ユーザー補助を専門とするソフトウェア エンジニアです。エンジニアリングへの道のり、アクセスしやすいデザインである Ember.js、こうした取り組みへの資金提供の重要性についてお話ししました。
この投稿では、ユーザー補助機能について学ぶの一環として、コミュニティ エキスパートを取り上げます。
Alexandra White: ありがとうございました。自己紹介と事業内容
Melanie Sumner: Melanie Sumner です。デジタル アクセシビリティを専門とするソフトウェア エンジニアです。25 年間ウェブ用のコードを記述してきました私の最初のキャリアは...スパイのものでした。私はアメリカ海軍のインテリジェンスアナリストで、コーディングが趣味でした。
スパイになっていたのが好きじゃなかった。死が好きではなかったようです。ほとんどの人はそうではありませんが、近い将来に近づく必要があります。次にやりたいことを決めなければならず、今や趣味を自分のキャリアに変えるときが来ました。この 10 年間、私は特にユーザー補助の分野でソフトウェア エンジニアリングに力を入れてきました。
Alexandra: 「そもそも私はスパイだった」という言葉はあまり聞いたことがありません。気にしないでユーザー補助に関する仕事に至ったきっかけは何ですか?
Melanie: 当時、私はノースカロライナ大学 [UNC] Chapel Hill に在籍しており、開発省に所属していました。ウェブ開発のような開発ではなく 資金調達などの開発のことを指します
直属の上司には視覚障がいがあり、それを確認するためにすべてを 400% にズームする必要がありました。彼は素晴らしいソフトウェア エンジニアでした。おそらく今までで最高のマネージャーでしょう。でも、彼はいつも私のものを壊していました。ズームインして私の作品を見てくれたからです。物事をレスポンシブに構築することを考えなかったら 壊れてしまうでしょう
上司の上司は青の色覚が強いんだ。UNC ブルーがどのようなものかはわかりませんが、これはライトスカイブルーです。そして、白地での使用が好きになりました。
Alexandra: (笑)それは困ります。
Melanie: 上司はいつも私の作品を見ることができないと不満を抱いていました。サイトの補色とカラーパターンを用意する必要がありました。そこで、色のコントラストについて考え、色覚障害(または視覚障がい)の人々がどのようにウェブを利用しているかを考えました。
UNC は州立大学であるため、WCAG ユーザー補助レベル AA への準拠が米国連邦政府の要件で定められています。教育機関だからレベル AAA を目指しました
州や連邦の要件について詳しく知り、W3C のユーザー補助仕様を読み始めると、「上記のすべてが理にかなっている」と思いました。ウェブのほとんどが準拠していませんでした。もちろん、ウェブが登場する以前から、人々はウェブ アクセシビリティに取り組んできました。JavaScript エンジニアは、デジタル アクセシビリティの採用に少し時間がかかっていることもあります。
私は、ユーザー補助はウェブの最先端技術と呼んでいます。多くの優秀な人々がユーザー補助のための自動化に取り組んでおり、パフォーマンスやセキュリティといった他の困難な問題への取り組みと同じ方法でソリューションに取り組む必要があります。
Alexandra: 海軍や UNC で、長く複雑なドキュメントをたくさん読んだことがあるでしょう。仕様を理解するのが難しいと感じましたか?
Melanie: 内容を理解できるまで 5 回ほど読まなければならなかったし、以前は他の仕様も読んでいた。仕様を 5 回も読まなければいけないから よくわからなくても気にしないでね冗談じゃないよ。
仕様の表現に慣れるには時間がかかります。そして 正しく解釈しないと 間違った結果に至る可能性がありますまた、仕様の文言の多くはブラウザ デベロッパー向けのものであることも理解することが重要です。ウェブ デベロッパーへの言及なので、「作成者のべきもの」を探してください。
Alexandra: 仕様の解読方法を理解しているデベロッパーが増えれば、ウェブ上の多くのことは良くなるでしょう。
Melanie: このように解釈してくれるサイトについては、言わなければならないことがたくさんあります。私は a11y-automation.dev を作成しました。このサイトは私のサイド プロジェクトのようなものです。私は、ユーザー補助に関するすべての違反を列挙し、問題の WCAG の成功基準と結びつけるようにしています。自動化によってエラーを回避できるのであれば、その解決策を提示します。
潜在的な違反のリストについてよく理解できますが、より重要なのはその修正方法を学ぶことです。存在しない自動修正については、リンターやテンプレートを作成すること、なんらかのテストを作成することになるかもしれません。
私はオープンソースで仕事をしたいと考えています。なぜなら、お互いをリフティングしたり、改善したりできるからです(改善の場合もあれば、そうでない場合もありますが、私たち全員が最善を尽くします)。私たちは互いの力を借りて ウェブにとって素晴らしい成果を得ています
ユーザー補助のための資金調達方法
Alexandra: pleasefunda11y.com にとても魅了されました。誰もが利用できるサイトの構築方法をデベロッパーに教えることはとても重要ですが、経営陣の資金提供や承認がなければ、デベロッパーがリソースを常に利用できるとは限りません。このサイトを構築したのはなぜですか?
Melanie: アクセシビリティは資金が足りないため不満がありました。オープンソース ファンディングはすべて CSS に送られているようです。CSS が大好きで いろいろと試してみましょう
このサイトを構築したのは、Chrome のソフトウェア エンジニアリング マネージャーの Addy Osmani から連絡があり、私もユーザー補助の資金を求めているものの、どのような活動に資金を提供できるかに関するアドバイスが欲しいと言われたからです。これは大きな問題です。オープンソースの資金提供者は、決まった結果がない一般的なアイデアではなく、特定のプロジェクトに資金を提供したいと思っています。時間をかけて具体的な取り組み、何が必要か、それによってサイトのアクセシビリティを向上させる方法について書き出しました。
たとえ私がこうした取り組みを支持する企業でも、ウェブのアクセシビリティを大幅に進化させることができるでしょう。他のウェブの取り組みと比べると、消費額はごくわずかであり、人々の生活に大きな影響を与える可能性があります。
現在の考え方はしばしば「障がいを持つ人の数」です。「ある人のテクノロジーとどのような関係があるか」のようにする必要があります。
「色覚異常は障がいではないと思う」 と言う人もいます色覚異常と自覚する人はいないかもしれませんが、テクノロジーとの関係には影響します。
Alexandra: テクノロジーとの関係について詳しく教えてください。それはアクセシビリティとどのように関係していますか?
Melanie: たとえば、神経多様であれば、非常にシンプルな言葉と非常に明確な指示が必要かもしれません。フローの中で 3 つまたは 4 つの画面間を移動し、最後までいくつかの選択をする方がよい場合もあります。最新の技術アプリケーションに関する適切なガイダンスはありません。
私たちにはさまざまな企業が DevOps を行っており最近はすべてのインターフェースに キッチンシンクを詰め込もうとしています
Alexandra: 例を挙げてもらえますか?
Melanie: たとえば、GitHub にはネストされたタブのプルダウンがあります。そして [激怒したため息]。(イライラしても)動けない。現代のウェブは新たな需要に応えるために 成長していく必要がありますしかし Google には 取り残されない ものを作る責任もあります
それが私の原動力、情熱です。仕事で使うはずのツールが使えないため 仕事に就くことができない人がいるのは避けたいところです
Alexandra: 100%。また、外部ユーザー向けのプロダクトの構築についてはよく考えていますが、必ずしも従業員のことを考えているわけではありません。
Melanie: ご存じのとおり、この資金調達に関するアドバイスは全員の利益になるかもしれないと考えました。
エンジニアからはユーザー補助が好きだが、「私の会社は気にしない」という声をよく聞きます。きっと彼らは気にかけるでしょう!ビジネスロジックのギャップを埋めるだけですビジネスにとって有益な結果を示す。もちろん、このサイトはオープンソースです。私は投稿や編集が大好きです。
Alexandra: 多くの場合、ユーザー補助はプロセスの最後に残されます。たとえば、「後でアクセスできるようにすればよいのです」などです。ただし、プロジェクト全体にアクセス可能な手法を統合する場合よりも、後で追加するには、かなりの時間がかかります。
Melanie: 私はよく、「1 回のビルドにお金を払うの?
Ember.js とコア ユーザー補助チーム
Alexandra: 皆さんも Ember.js フレームワークのコアチームに関わっていることは承知しています。 どのように関わったのですか?
Melanie: JPMorgan Chase の企業投資銀行プラットフォームを担当しています。Ember は、非常に安定した(場合によっては退屈な)ベースが必要な場合に使用される、高耐久の JavaScript フレームワークです。これにより、多額の資金を失うようなコードを記述することを回避できます。Ember では下位互換性が保証されており、メジャー バージョンに達していても、毎回アップグレードできます。Google は、段階的に処理を進めているため、アプリが壊れることはありません。
とにかく、私は Ember のカンファレンスに参加し、コミュニティでたくさんの人々と出会いました。エンバーの人たちはとても親切でした。そして、他の場所でまだ見たことのない非常に強力な行動規範があります。
退役したときは警備員に入ろうと思いました。情報セキュリティの会合に行きましたが、彼女は誰も見ませんでした。お年寄りの一人が私を見てこう言った。
Alexandra: [うめき声] 痛いよ。まったく驚くことではありません私も同じような経験があります
Melanie: たぶん 2011 年だったか、2012 年だったかな?状況は大きく変化しました私はあの会合でその夜滞在して、ポイントを証明するために宿泊したんだ。そのコメントで閉められなかったわけじゃない。冗談を言ったり、メモを取ったり、会話に参加したりして、自分がそこにいることが人々に伝わったのです。これまでの経歴の多くは男性の誤りを 証明してきた経験です
ただ、男性が間違っていたことを証明するためだけに、女性がソフトウェア エンジニアになることを望んでいません。ソフトウェア エンジニアになりたくて、何かを作るのは楽しいから。女性にもそのキャリアの選択肢があるべきだ。
Alexandra: はい。
Melanie: 私がユーザー補助について知っていることを Ember コミュニティと共有しました。なぜなら、当然のことながら、バンキング プラットフォームとして、米国連邦の要件を満たす必要があるからです。Yehuda Katz 氏と Tom Dale 氏は次のように述べています。「チームとの間にはギャップがあります。当社には JavaScript の専門家、パフォーマンスのエキスパート、異色の人材が数多くいますし、ユーザー補助の知識も必要としています。」そしてコアチームに招待されました。
Ember をデフォルトで利用できるようにする取り組みに取り組んでいます。つまり、ember new <my-app-name>
と指定した場合は、すぐに WCAG の成功基準に合格する必要があります。
Alexandra: GitHub で Ember のユーザー補助ツールの長いリストを見ました。 Ember コミュニティの人々が、このようなツールへの貢献に熱心に取り組んでいることはわかっていますか?
Melanie: それはこの仕事のとても面白い部分です。LinkedIn での勤務中に、Ember のユーザー補助 lint ルールを作成しました。それから LinkedIn を離れて Hashicorp に勤務していますが、他の人たちは今でもそのリンターが役立つという理由で貢献しています。それがこの仕事の一部で、心が落ち着き、ワクワクします。
Google は、ユーザー補助は公民の権利であることを基本としています。それは議論しない
話し合いの内容: 何を実装できるかどのタイミングで、その実現方法どう説明すれば 後方互換性を維持できるでしょうかデベロッパーが構築や計画の必要がある巨大な追加機能なしでユーザー補助機能をサポートできるようにするには、どうすればよいでしょうか。
Alexandra: ユーザー補助は公民の権利です。落ち着かないね!誰もが真実と知っているものでなければなりません。
Melanie: 「私に目が見えないならインターネットを利用しないでほしい」など、何も知らないことを言われたことがあります。90%のユーザーが障がいを抱えているのに 障がいについて考える必要があるのではないかそのようなディスカッションは、仕事から注意をそらすために使われることが多いため、控えさせていただきます。
アクセスしやすいコードを記述すると、W3C 仕様に基づいてサイトを構築することを検討できるため、パフォーマンスが向上します。div だけではなくセマンティック HTML を使用し、見出しを使用します。<div>
にクリック イベントを追加する代わりに <button>
を選択すると、パフォーマンスが向上します。
1 つの作業: ユーザー補助の自動化
Alexandra: ウェブ デベロッパーがアクセシビリティの高いウェブサイトを構築するためにすべきことは何ですか。
Melanie: 自動化を追加して。使用するフレームワークに関係なく、使用するコードの種類を問わず、既存のリンターから始めます。どちらを使ってもかまわないわ。これらのルールのいずれかに違反すると、ビルドが中断されます。
AI はまだ意図を解読できないため、自動化できないことがあります。たとえば、画像の代替テキスト値は意味のある値であるべきですが、実際にはどういう意味でしょうか。現時点では、自動化ではなく、人間がそれを認識する必要があります。
自動化ツールにより、「色のコントラストを渡していない」と通知される場合があります。修正してください。苦戦するな。「でも、私はこのやり方が好きだ」などと言わないでください。 これはお客様に関するものではありません。世界中の誰もが毎日使えるように することなのです
ユーザー補助は道のりであり、常に学習し続けるものです。私は 10 年以上ユーザー補助を専門としており、今も常に新しいことを学んでいます。守るのではなく、ただやりましょう。
Melanie のウェブサイト(melanie.codes)と Twitter(@a11yMel)で最新情報をご確認ください。彼女のユーザー補助リソースについては、pleasefunda11y.com、a11y-info.com、a11y-automation.dev をご覧ください。