[{"id":"ff9bd47a-cd46-472d-af43-366f35920ef1","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"f674ca00-4cf2-4f53-9a08-4aa596ff5f02","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"5f9ed446-5e43-4e35-b070-bbedb3095625","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"c8f61bda-f911-4c26-aa5c-cf046d91d345","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"ffcf2b4f-0e46-41d0-b0b7-0cc510a2a482","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"4200be12-4188-42f3-9cf4-5fcaebbc57f7","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"7bc4edb3-af3c-4fe3-8820-973c7b43d825","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"af815243-c00f-4782-b362-bb52a9129e99","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"bd8aaf4e-1ba8-4025-8ba9-d57cfbefbc58","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"874f311d-9a12-4e41-9c01-e7aaa99ab496","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"5811b0f0-9142-4dec-87d5-11fbd1e001ec","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"cef428a7-3494-4942-81f6-6712e4b9d1e7","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"3be03770-5428-4ad4-8ebc-09708a22e209","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"563145bf-65b2-4718-851d-594d1b9cf1f6","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"b273295a-e4a0-45ad-be8a-5c3a2322d22c","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"76f8df3f-5d71-4244-8fa6-6be30e10170f","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"7990d3f5-9c4c-4c37-9a96-7e7b1cf0e531","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"a5d052e6-ac14-4b26-b51d-2042af4bd88c","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"4a6e9860-0849-40aa-8cdb-c16c5fb52ef4","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"b02661dd-4bf2-4e6a-94c0-c85827e19c52","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"06c9877a-acd0-49b6-8a35-52d10c942e21","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"b9cc95e6-4c7e-4ae6-9168-6270c8b9df48","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"81742c3e-102a-44f5-8e12-83cdddf79651","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"f6568a5c-eb38-4edb-af3a-8af10e64b122","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"f30f3e16-1db8-48eb-b7a8-de189c306e42","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"c38d9bd1-ec29-4861-bea2-e9939a1d40b8","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"c7f7e6eb-630d-4851-ab1a-eeafb6882ff9","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"e82078d4-d506-4d51-83ea-129c35f610c2","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"2cf396a7-8e6d-4ece-867e-2a346c855b76","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"7fdf2b77-d2f1-440f-8bde-79873ae161be","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"4bfbb7a7-db6a-4e62-9bb9-043090f29e06","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"4acb1bbe-766a-4271-a1e7-156999bf6da7","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"e2476b8f-2102-441c-9f8c-bbd9ca5f94c8","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"eeba73bc-77fb-4e4c-addd-f365b53e009b","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"604aae49-9273-455c-813b-c2c97aa713c7","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"fd995bda-fac2-4ef5-ab75-d8f6840b937a","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"24dbdbdf-1539-4e43-8f9f-036adaf28f36","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"6896e627-8625-484c-9487-48803c13019b","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"035cce7b-7cfc-405b-b003-419583668944","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"139bcd73-12b9-4e78-843c-dd63933e35b8","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"f38fe005-cfd6-4f25-9c83-f5a545aaa911","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"5fa9f1d8-ed73-4642-82cd-cb4f7a9a145a","tags":[{"product":null,"links":null,"id":"2f522515-8c88-4017-855d-905bc4b0ea3c","name":"Upd","color":"Blue","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]},{"id":"09b280d0-fc2f-438a-8d57-e87c6ef02d8b","tags":[{"product":null,"links":null,"id":"6c1a6899-1b88-404c-9a73-4a0c6c9090a3","name":"New","color":"Red","productId":"66a69675-7df9-45b2-867a-4ab2613535fa"}]}]
        
(Showing Draft Content)

アクセシビリティサポート

SpreadJSは、スクリーンリーダーなどのアクセシビリティサポートを提供します。アプリケーションの開発者はアクセシビリティサポートを使用して、エンドユーザーエクスペリエンスをより高めることができます。

Webページのテキストコンテンツには、次の方法でアクセスできます。

  • [Tab]キーを押すと、アクティブセルを変更できます。

  • マウスを動かすと、セルにカーソルを合わせることができます。

  • サンプルページがアクティブなタブにあると、適切なテキストを提供できます。

スクリーンリーダーで読み上げられるテキストをより意味のあるものにするために、さまざまなケースでさまざまなテキストが使用されます。

ケース

スクリーンリーダーで読み上げられるテキスト

セル(0、1)は、Tabキーを押すとアクティブセルになり、その値は「名前」です。

セル(0、1)の値は「名前」です。

マウスがビューポート領域のセル(0、1)に入り、その値は「名前」です。

セル(0、1)の値は「名前」です。

マウスが列ヘッダ領域のセル(0、1)に入り、その値は「名前」です。

列ヘッダのセル(0、1)の値は「名前」です。

マウスが行ヘッダ領域にセル(1、0)を入力し、その値は「名前」です。

行ヘッダのセル(1、0)の値は「名前」です。

マウスがタブストリップのサイズ変更バーに入ります。

タブストリップのリサイズ

マウスがタブストリップの最初の領域に入ります。

タブストリップの先頭

マウスがタブストリップの前の矢印領域に入ります。

前への矢印ボタン

マウスがタブストリップの次の矢印領域に入ります。

次への矢印ボタン

マウスがタブストリップの最後の領域に入ります。

タブストリップの最後

マウスがタブストリップの前のボタン領域に入ります。

前へのボタン

マウスがタブストリップの次のボタン領域に入ります。

次へのボタン

マウスがタブストリップのシートタブ領域に入り、その名前は「Sheet1」です。

シートタブ「Sheet1」

マウスがタブストリップの新しいシート領域に入ります。

新しいシート

マウスがタブストリップの空白の領域に入ります。

タブストリップのブランク領域

マウスが水平スクロールバーの左ボタン領域に入ります。

スクロールバーの左ボタン

マウスが垂直スクロールバーの上部のボタン領域に入ります。

スクロールバーの上ボタン

マウスがスクロールバーのサムボタン領域に入ります。

スクロールバーのサム

マウスが水平スクロールバーの右ボタン領域に入ります。

スクロールバーの右ボタン

マウスは、垂直スクロールバーの下部のボタン領域に入ります。

スクロールバーの下ボタン

サンプルページがアクティブタブにあり、アクティブセルはCell(0、1)で、その値は「名前」です。

セル(0、1)の値は「名前」です。

アクセシビリティサポートは、Windowsナレーター、Windows用のNVDA(NonVisual Desktop Access)、Mac OS X用のVoiceOverなどの画面読み上げアプリケーションで使用できます。「Tabキーを押す」、「マウスホバー」、および「アクティブなタブのページ」などの機能は、使用するスクリーンリーダーとブラウザの種類によって動作が異なります。

次の表は、さまざまなブラウザでスクリーンリーダーの結果を示します。

スクリーンリーダー

ブラウザ

Tabキーを押す

マウスホバー

アクティブなタブでのページ

Windows用のNVDA

Chrome

サポートされる

サポートされる

サポートされる

Windows用のNVDA

Firefox

サポートされる

サポートされる

サポートされていない

Windows用のNVDA

Chromium Edge

サポートされる

サポートされる

サポートされていない

Windows用のNVDA

Edge

サポートされていない

サポートされていない

サポートされていない

Windows用のNVDA

IE

サポートされていない

サポートされていない

サポートされていない

Windowsナレーター

Chrome

サポートされる

サポートされる

サポートされていない

Windowsナレーター

Firefox

サポートされる

サポートされる

サポートされていない

Windowsナレーター

Chromium Edge

サポートされる

サポートされる

サポートされていない

Windowsナレーター

Edge

サポートされる

サポートされていない

サポートされていない

Windowsナレーター

IE

サポートされる

サポートされていない

サポートされていない

Mac OS X用のVoiceOver

Chrome

制限付きでサポートされる

制限付きでサポートされる

サポートされていない

Mac OS X用のVoiceOver

Safari

制限付きでサポートされる

制限付きでサポートされる

サポートされていない

メモ: Mac OSX用のVoiceOverリーダーは、ChromeおよびSafariブラウザでサポートされているが、いくつかの制限があります。div要素にコンテンツがある場合、リーダーはaria-label属性を無視します。だから、「セル(0、1)は、Tabキーを押すとアクティブセルになり、その値は「名前」です。」のケースでは、VoiceOverリーダーは「名前」のセルテキストのみを認識します。同様に、OS X用のVoiceOverリーダーは動的なaria-label属性を認識しないため、マウスをキャンバス要素の上に置いたとき、またはサンプルページがアクティブなタブにあるときに、ワークシートはビューポートのコンテンツ全体を提供します。また、OS X用のVoiceOverリーダーはタブストリップ、スクロールバー、および画像、チャート、図形などのフローティングオブジェクトを認識しません。

アクセシビリティサポートを有効にする

アクセシビリティサポートを有効にする、 enableAccessibility プロパティをTrueに設定します。

次のサンプルコードは、アクセシビリティサポートを有効にします。

spread.options.enableAccessibility = true;

デザイナの使用

SpreadJSランタイムの他に、SpreadJSデザイナもユーザーにアクセシビリティサポートを提供します。デザイナでアクセシビリティ対応を有効にすると、スクリーンリーダーはデザイナのUI要素の意味を読み上げます。

デザイナでアクセシビリティサポートを有効にするには、次の手段を実行します。

  1. デザイナでは[設定]タブをクリックし、「Spread設定」の「全般」を選択します。

    enable-accessibility-spreadsetting



  2. Spread 設定]ダイアログボックスが表示されます。「アクセシビリティを許可する」チェックボックスをクリックします。

    enable-accessibility1

メモ:すべての機能は基本的なアクセシビリティサポートのみに対応しています。

画像、図形、チャートに代替テキストを設定する

SpreadJSは、フローティングオブジェクト、画像、チャート、図形などのグラフィックコンテンツに対して、適切な代替テキストを提供しません。ただし、Picture、FloatingObject、ConnectorShape、GroupShape、Shape、およびChartクラスの alt メソッドを使用して、アクセシビリティサポートのために代替テキストを提供できます。

次のサンプルコードは、画像、図形、チャートの代替テキストを設定します。

<script>
        $(document).ready(function () {
            // Spreadを初期化します。
            var spread = new GC.Spread.Sheets.Workbook(document.getElementById('ss'), { sheetCount: 2 });
            // アクティブシートを取得します。
            var sheet = spread.getSheet(0);
            // アクセシビリティを有効にします。
            spread.options.enableAccessibility = true;
            spread.suspendPaint();
            // フォーカスを設定します。
            spread.focus();
            // Tabキー、Shift+Tabキーに関連するコマンドを変更します。
            var commands = spread.commandManager();
            // TAB
            commands.register("moveToNextCellThenControl", GC.Spread.Sheets.Commands.moveToNextCellThenControl, GC.Spread.Commands.Key.tab, false, false, false, false);
            // SHIFT+TAB
            commands.register("moveToPreviousCellThenControl", GC.Spread.Sheets.Commands.moveToPreviousCellThenControl, GC.Spread.Commands.Key.tab, false, true, false, false);
            // デフォルトの行の高さと列の幅を設定します。
            sheet.defaults.rowHeight = 50;
            sheet.defaults.colWidth = 150;
            // デフォルトの水平方向と垂直方向の配置を設定します。
            var defaultStyle = sheet.getDefaultStyle();
            defaultStyle.hAlign = GC.Spread.Sheets.HorizontalAlign.center;
            defaultStyle.vAlign = GC.Spread.Sheets.VerticalAlign.center;
            defaultStyle.rowHeight = 50;
            defaultStyle.colWidth = 150;
            sheet.setDefaultStyle(defaultStyle);
            // データソースをバインドします。
            sheet.setDataSource(dataSource);
            // Sheet1を取得します。
            var sheet = spread.getSheet(1);
            // チャートのデータを準備します。
            sheet.setValue(0, 1, "Q1");
            sheet.setValue(0, 2, "Q2");
            sheet.setValue(0, 3, "Q3");
            sheet.setValue(1, 0, "Mobile Phones");
            sheet.setValue(2, 0, "Laptops");
            sheet.setValue(3, 0, "Tablets");
            for (var r = 1; r <= 3; r++) {
                for (var c = 1; c <= 3; c++) {
                    sheet.setValue(r, c, parseInt(Math.random() * 100));
                }
            }
            // columnClusteredチャートを追加します。
            var c1 = chart_columnClustered = sheet.charts.add('chart_columnClustered', GC.Spread.Sheets.Charts.ChartType.columnClustered, 50, 300, 300, 300, "A1:D4");
            c1.alt("This is a column chart");
            var chartArea = c1.chartArea();
            chartArea.border.color = "rgba(20, 119, 167, 1)";
            chartArea.border.width = 2;
            c1.chartArea(chartArea);
            // 画像を追加します。
            var p1 = sheet.pictures.add("p1", "mango.jpg", 500, 50, 200, 200);
            p1.alt("これはマンゴーの画像です。");
            p1.borderColor("rgba(20, 119, 167, 1)");
            p1.borderWidth(2);
            p1.borderStyle("solid");
            // 雲のシェイプを追加します。
            var sp1 = sheet.shapes.add("sp1", GC.Spread.Sheets.Shapes.AutoShapeType.cloud, 250, 50, 200, 200);
            sp1.alt("これは雲のシェイプです。");
            spread.resumePaint();
            // イベントをバインドして代替テキストを設定します。
            function setAltText(collection, altText) {
                var success = false;
                collection.forEach(function (obj) {
                    if (obj.isSelected()) {
                        obj.alt(altText);
                        success = true;
                    }
                });
                return success;
            }
            var alternativeText = document.getElementById("alternativeText");
            document.getElementById("setAlternativeText").addEventListener("click", function () {
                var altText = alternativeText.value;
                var success = setAltText(sheet.pictures.all(), altText);
                if (success) {
                    return;
                }
                success = setAltText(sheet.charts.all(), altText);
                if (success) {
                    return;
                }
                setAltText(sheet.shapes.all(), altText);
            });
            spread.bind(GC.Spread.Sheets.Events.PictureChanged, function (event, args) {
                if (args.propertyName === "isSelected" && args.picture.isSelected()) {
                    alternativeText.value = args.picture.alt();
                }
            });
            spread.bind(GC.Spread.Sheets.Events.FloatingObjectChanged, function (event, args) {
                var floatingObject = args.floatingObject;
                if (floatingObject && floatingObject instanceof GC.Spread.Sheets.Charts.Chart) {
                    if (args.propertyName === "isSelected" && floatingObject.isSelected()) {
                        alternativeText.value = floatingObject.alt();
                    }
                }
            });
            spread.bind(GC.Spread.Sheets.Events.ShapeChanged, function (event, args) {
                if (args.propertyName === "isSelected" && args.shape.isSelected()) {
                    alternativeText.value = args.shape.alt();
                }
            });
        });
</script>