[{"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"}]}]
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要素の意味を読み上げます。
デザイナでアクセシビリティサポートを有効にするには、次の手段を実行します。
デザイナでは[設定]タブをクリックし、「Spread設定」の「全般」を選択します。
[Spread 設定]ダイアログボックスが表示されます。「アクセシビリティを許可する」チェックボックスをクリックします。
メモ:すべての機能は基本的なアクセシビリティサポートのみに対応しています。
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>