Часть V
Публикация и экспорт графики. Прочие возможности Flash
Глава 20
Подготовка графики Flash к экспорту
Все хорошее когда-нибудь кончается… Не успели мы привыкнуть к нашему документу Flash, не успели как следует намучиться с ним, пытаясь заставить все работать, как надо, не успели насладиться сознанием своей власти и могущества, наконец добившись от него послушания, как его уже нужно отдавать заказчику. Как говорил персонаж одного старого мультфильма: "На самом интересном месте"…
У нас осталось совсем немного времени, чтобы проверить, все ли сделано правильно, и нет ли каких ошибок. Не будем торопиться, но и мешкать тоже не стоит. Нужно использовать эти минуты как можно плодотворнее. Как? А вот как…
Прежде всего, нам нужно будет оптимизировать наш фильм. Что такое оптимизация! Это довольно долгий и подчас трудоемкий процесс, состоящий в отыскивании скрытых ошибок и "узких мест" и устранении их. Оптимизировать фильм — это значит, задать правильные параметры экспорта импортированной растровой графики и звука, удалить ненужные образцы из библиотеки, ненужную графику на рабочем листе, проверить все созданные в фильме сценарии на предмет ошибок и исправить эти ошибки. Да, времени и труда оптимизация отнимает преизрядно, но после нее наш фильм будет выглядеть лучше, воспроизводиться плавнее, загружаться быстрее, а сценарии станут экономнее использовать память компьютера, не засоряя ее ненужными переменными.
Flash предоставляет мощные средства по выявлению "узких мест", препятствующих быстрой загрузке файла Shockwave/Flash и выводу его на экран. Воспользуемся ими для того, чтобы выяснить, какая часть фильма будет загружаться быстрее, а какая — медленнее. Располагая такими данными, мы сможем ускорить загрузку фильма, а значит, сделать его просмотр более плавным.
Второе, о чем нам следует позаботиться, — это доступность фильма (по-английски — accessibility). В терминологии Flash — это предоставление набора средств, с помощью которых мы можем сделать просмотр нашего фильма доступным для людей с различными физическими недостатками. В частности, мы можем сделать свой фильм доступным для пользователей с недостатками зрения. Специальное программное обеспечение через звуковую карту компьютера будет зачитывать им то, что находится на экране и в активном на данный момент поле ввода.
Начнем с оптимизации. Именно ее нужно провести в первую очередь.
Оптимизация фильма
Здесь мы рассмотрим средства, предлагаемые Flash для анализа процесса загрузки и воспроизведения фильма. Благодаря им мы сможем выявить "узкие места" нашего фильма. Также мы выясним, что можно сделать, дабы наши фильмы стали компактнее и быстрее.
Использование профилировщика загрузки для выявления "узких мест" фильма
Обычно проигрыватель Flash начинает воспроизведение фильма сразу же после того, как загрузит полностью несколько первых его кадров. В дальнейшем загрузка остальных кадров идет одновременно с воспроизведением. Благодаря такому подходу пользователю не нужно дожидаться, пока весь фильм будет загружен.
Однако если по каким-то причинам загрузка фильма будет приостановлена, проигрыватель Flash не сможет получить данные для дальнейшего воспроизведения этого фильма. Тогда в воспроизведении наступает пауза до тех пор, пока не будет получено достаточно данных для его продолжения.
Причин, по которым загрузка фильма может приостановиться, существует довольно много. Не последнее место в их ряду занимают проблемы с аппаратной частью компьютера и сетевым программным обеспечением. Например, при загрузке фильма из Интернета модем пользователя может внезапно оборвать соединение, или антивирус может не пропустить подозрительный с его точки зрения файл. В таком случае говорят о внешних причинах прерывания загрузки, с которыми мы ничего поделать не можем.
Однако мы способны устранить внутренние причины. Такими причинами могут быть: слишком большое растровое изображение, импортированное в фильм, большой звуковой файл, большой видеоклип и т. п. Понятно, что эти проблемы вызваны, в основном, слишком большими размерами импортированных файлов, которые проигрывателю Flash нужно загрузить и вывести на экран. А на эти размеры мы вполне можем влиять.
В этом нам поможет, на начальном этапе, инструмент Flash, называемый профилировщиком загрузки. С его помощью мы без труда выясним, какой именно слишком объемный файл "тормозит" загрузку нашего фильма.
Чтобы подвергнуть профилировке какой-либо фильм, нужно открыть его в среде Flash и выбрать пункт Test Movie меню Control или нажать комбинацию клавиш <Ctrl>+<Enter> (т. е. запустить его на воспроизведение в отдельном окне). Чтобы протестировать только текущую сцену, нужно выбрать пункт Test Scene меню Control или нажать комбинацию клавиш <Ctrl>+<Alt>+<Enter>.
В том случае, если фильм уже экспортирован в формат Shockwave/Flash, надо просто открыть нужный файл Shockwave/Flash, воспользовавшись пунктом Open меню File или комбинацией клавиш <Ctrl>+<0>. Открытый таким образом фильм сразу начнет воспроизводиться в отдельном окне Flash.
Теперь откроем подменю Download Settings меню View окна просмотра фильма. В нем находится набор пунктов-переключателей, с помощью которых выбирается скорость загрузки фильма: 14.4 (1.2 KB/s), 28.8 (2.3 KB/s), 56К (4.7 KB/s), DSL (32.6 KB/s), T1 (131.2 KB/s), User Setting 6 (2.3 K), User Setting 7 (2.3 К) и User Setting 8 (2.3 K).
В случае если переключателя нужной нам скорости в наборе нет, мы сами сможем задать ее, выбрав пункт Customize в том же подменю Download Settings меню View. На экране появится диалоговое окно Custom Download Settings (рис. 20.1), в котором и задаются доступные в подменю Download Settings меню View значения скорости загрузки фильма.
Это окно содержит восемь пар полей ввода, соответствующих каждому из перечисленных выше пунктов-переключателей подменю Download Settings. В левом поле ввода каждой пары (Menu text) задается текст пункта подменю, а в правом (Bit rate) — соответствующее ему числовое значение скорости загрузки в байтах в секунду. После ввода данных нужно нажать кнопку ОК для сохранения сделанных настроек или Cancel для отказа от них. А чтобы вернуться к значениям по умолчанию, следует нажать кнопку Reset.
Итак, мы выбрали скорость загрузки. Что теперь?
Прежде всего, Flash 8 предоставляет возможность быстро оценить скорость загрузки нашего фильма без вызова профилировщика загрузки. Для этого мы должны просто включить пункт-выключатель Simulate Download меню View или нажать комбинацию клавиш <Ctrl>+< Enter>. После этого засекаем время на секундомере и ждем… Когда Flash "загрузит" наш фильм, он выведет его в окно воспроизведения; если файл Shockwave/Flash, содержащий фильм, достаточно велик, ждать этого придется долго.
Если же нам нужно получить более подробные сведения о том, как будет загружаться фильм и где находятся его "узкие места", придется все-таки воспользоваться профилировщиком загрузки. Для вызова его на экран нужно включить пункт-выключатель Bandwidth Profiler меню View или нажать комбинацию клавиш <Ctrl>+<B>. После этого окно просмотра фильма будет разделено на две части: в нижней части будет воспроизводиться сам фильм, а в верхней появятся данные профилировщика загрузки.
С нижней частью окна просмотра все ясно. Давайте посмотрим на верхнюю часть (рис. 20.2). Видно, что она также разделена на две части: левую, с текстом, и правую, с диаграммой. Мы можем перемещать мышью разделяющую части толстую серую полосу и тем самым менять их размеры.
Текст, отображаемый в левой части, представляет различные сведения о фильме. А именно:
□ в разделе Movie:
Dim — геометрические размеры "картинки" фильма в пикселах;
Fr rate — частоту кадров фильма;
Size — размер файла Shockwave/Flash, в котором хранится фильм, в килобайтах и байтах;
Duration — продолжительность фильма в кадрах и секундах;
Preload — величину задержки, необходимой для загрузки файла фильма перед началом его воспроизведения, в кадрах и секундах;
□ в разделе Settings: Bandwidth — скорость загрузки фильма, выбранную нами ранее в подменю Download Settings меню View;
□ в разделе State: Frame — номер текущего кадра и (ниже) размер данных в килобайтах и байтах, необходимых для его отображения.
Если теперь включить пункт-выключатель Simulate Download меню View, запустив имитацию загрузки, то в разделе State появится строка Loaded, отображающая количество загруженных к данному моменту кадров и их размер в килобайтах и байтах.
Мы видим, что профилировщик загрузки обеспечивает доступ к довольно большому числу данных, которые могут помочь нам в работе по оптимизации фильма. Но самая ценная информация отображается с его помощью в правой верхней части окна воспроизведения фильма. Это диаграмма загрузки фильма.
Давайте посмотрим на нее (см. рис. 20.2). На горизонтальной оси этой диаграммы отложены номера кадров нашего фильма; в верхней части ее находится также временная шкала и бегунок, показывающий, какой кадр фильма в данный момент воспроизводится. На вертикальной же оси диаграммы отложены значения размера данных в байтах и килобайтах.
Смотрим дальше. На горизонтальной шкале диаграммы находятся разноцветные столбики, зачастую поставленные друг на друга (на рис. 20.3 это хорошо видно). Это значит, что при воспроизведении данного кадра проигрыватель Flash успеет загрузить несколько других кадров. А если на каком-то делении горизонтальной шкалы столбиков вообще нет, значит, проигрыватель Flash загрузил все данные, необходимые для их воспроизведения.
Одно из делений вертикальной оси выделено красным цветом. Оно показывает предельный объем, при превышении которого проигрыватель Flash не сможет загружать данные достаточно быстро и будет вынужден приостановить воспроизведение фильма до тех пор, пока остальные данные не будут загружены. Таким образом, мы легко сможем узнать, какой кадр "тормозит" наш фильм, и принять необходимые меры.
Если в меню View включить пункт-переключатель Frame by Frame Graph или нажать комбинацию клавиш <Ctrl>+<F>, вид диаграммы загрузки изменится. Серые столбики теперь будут показывать размер данных, относящихся к текущему кадру (рис. 20.4). Так мы сможем узнать, сколько данных нужно, чтобы воспроизвести тот или иной кадр.
Чтобы вернуться к предыдущему виду диаграммы загрузки (см. рис. 20.3), нужно включить пункт-переключатель Streaming Graph меню View или нажать комбинацию клавиш <Ctrl>+<G>.
Мы можем остановить воспроизведение фильма, нажав клавишу < Enter> или <Esc> или выбрав пункт Stop меню Control, и выделить нужный кадр, щелкнув мышью на соответствующей ему позиции временной шкалы профилировщика. Также можно щелкнуть на столбике, представляющем размер нужного кадра. После этого Flash выведет данные по выделенному нами кадру в левой части профилировщика загрузки.
Как оптимизировать фильм
А теперь настала пора поговорить собственно об оптимизации графики Flash. Этот разговор займет довольно много времени и будет вестись отдельно о векторной графике, отдельно об импортированной растровой графике и отдельно о звуке.
Оптимизация векторной графики
Нужно твердо запомнить одно простое правило: чем длиннее и сложнее фильм Flash, тем больше места он требует на диске, тем дольше он загружается и обрабатывается перед выводом на экран и тем медленнее выводится. Поэтому следует употребить все средства, чтобы он стал насколько возможно менее сложным и менее длинным. И делать это нужно еще до его публикации.
Прежде всего, для создания множества похожих элементов следует, по возможности, использовать образцы. Также, где только возможно, рекомендуется объединять фрагменты изображения в группы — это сильно облегчит работу с ними и позволит Flash удачнее их оптимизировать. Анимированные фрагменты лучше отделять от неподвижных, "разнося" их по разным слоям. И не стоит забывать о разделяемых образцах — они позволяют уменьшить размер файлов Shockwave/Flash.
Не следует использовать в изображении слишком много линий различных стилей (точечных, пунктирных и др.) — они занимают больше места в памяти, нежели сплошные линии. (Это относится как к обычным линиям, так и к контурам фигур.) Крайне желательно использовать лишь необходимый минимум мазков "кистью" — и они весьма охочи до памяти. Рекомендуется также выполнять оптимизацию кривых с помощью пункта Optimize подменю Shape меню Modify (см. главу 3); благодаря этому они станут проще, а значит, займут меньше памяти. Вообще, лучше не использовать без необходимости слишком сложные кривые.
При выборе цвета нужно стараться, чтобы он, по возможности, совпадал с одним из цветов безопасной палитры Web, а при необходимости — использовать минимум градиентных цветов — они требуют объема памяти примерно на 50 байтов больше, чем сплошные. И помните, что чрезмерное увлечение полупрозрачными фигурами может замедлить вывод изображения на экран.
При создании текстовых блоков желательно ограничить количество используемых шрифтов необходимым минимумом. Будет лучше, если мы ограничимся шрифтами-псевдонимами (см. главу 7). Если в фильме присутствуют поля ввода или динамические текстовые блоки, нужно ограничить набор символов, которые будут внедрены в результирующий файл Shockwave/ Flash. (Как мы уже знаем, Flash при экспорте внедряет в результирующий файл информацию обо всех использованных в изображении шрифтах, что может сильно увеличить размер этого файла.)
Везде, где это возможно, лучше использовать трансформационную анимацию вместо покадровой. Для создания анимации лучше пользоваться образцами-клипами, а не анимированными графическими образцами. При создании трансформационной анимации имеет смысл задавать минимальные изменения — слишком большие изменения увеличивают размер фильма и замедляют его проигрывание. По возможности стоит отказаться от анимации импортированной растровой графики, а для создания звукового сопровождения использовать импортированный звук в формате MP3 — он занимает меньший объем памяти.
И вообще, самый лучший способ сделать фильм меньше — сделать его проще. Будьте проще — и пользователи вас поймут!
Задание параметров импортированной растровой графики
При экспорте фильма Flash, содержащего импортированную растровую графику, Flash выполняет ее сжатие. Мы можем управлять параметрами сжатия графики, а именно, степенью сжатия и выбором используемого алгоритма. Давайте выясним, как это делается.
Прежде всего, нам нужно вывести на экран панель Library. После этого отыщем в списке образцов тот, что соответствует нужному растровому изображению, выделим его и выберем в контекстном или дополнительном меню пункт Properties. На экране появится диалоговое окно Bitmap Properties (рис. 20.5).
В поле ввода, находящемся в верхней части этого окна, задается имя образца. Ниже этого поля ввода отображены следующие данные (перечисляются в порядке сверху вниз):
□ путь и имя изначального файла, из которого было импортировано это растровое изображение;
□ дата и время создания образца;
□ размеры изображения в пикселах и его цветность.
В левом верхнем углу диалогового окна Bitmap Properties находится небольшая область предварительного просмотра, в которой отображается само это растровое изображение. Мы можем перетаскивать содержимое этой области мышью, чтобы рассмотреть различные его части.
С помощью флажка Allow smoothing включается или отключается сглаживание границ изображения. Рекомендуется всегда его включать.
В раскрывающемся списке Compression задается алгоритм сжатия растрового изображения. В списке доступны два пункта, которые мы сейчас рассмотрим.
Выбор пункта Photo (JPEG) задает для изображения алгоритм сжатия JPEG. Как мы помним из главы /, этот алгоритм применяется для сжатия изображений JPEG и реализует сжатие с потерями. Его стоит использовать для сложных полутоновых изображений с большим количеством цветов или оттенков серого, например, для фотографий или рисунков с градиентными заливками.
При выборе пункта Photo (JPEG) списка Compression ниже появится флажок Use document default quality. Будучи включенным, он задает для импортированного изображения качество изначального изображения, хранящегося в файле. Если этот флажок отключить, ниже его появится поле ввода Quality, где мы сможем ввести числовое значение от 1 до 100, задающее качество изображения. Максимальное качество определяется числом 100 единиц, а качество по умолчанию — числом 50.
Пункт Lossless (PNG/GIF) списка Compression задает для изображения алгоритм сжатия без потерь, который применяется для сжатия графики форматов GIF и PNG. Этот алгоритм лучше всего применять для простых штриховых изображений с небольшим количеством цветов, например, для схем или карандашных рисунков.
После задания нужных параметров сжатия надо щелкнуть на кнопке Test — и Flash обновит изображение в области предварительного просмотра в левом верхнем углу диалогового окна Bitmap Properties. А в самом низу окна появятся сведения о том, насколько компактнее получившееся новое изображение по сравнению с изначальным.
Задание нужных параметров сжатия завершается, как обычно, нажатием кнопки ОК. А чтобы отказаться от них, нужно нажать кнопку Cancel.
Задание параметров звука
При экспорте фильма, содержащего импортированный звук, Flash перекодирует его с использованием одного из поддерживаемых им кодеков, после чего, если нужно, выполняет микширование нескольких звуков в один. Мы можем задать для любого импортированного звука кодек и параметры сжатия.
Итак, отыщем в списке образцов панели Library тот, что соответствует нужному нам звуку, выделим его и выберем в контекстном или дополнительном меню пункт Export Settings. На экране появится диалоговое окно Sound Settings (рис. 20.6). В этом окне находится раскрывающийся список Compression, с помощью которого выбирается алгоритм сжатия звука. Список содержит пять пунктов, которые мы подробно рассмотрим ниже.
Если в списке Compression выбран пункт Default, то к данному звуку будут применены параметры по умолчанию, заданные при публикации фильма. О том, как задать эти параметры, будет рассказано в главе 21.
Если выбран пункт ADPCM, то для сжатия звука будет применен алгоритм ADPCM, разработанный фирмой Microsoft в 90-х годах прошлого века и неплохо подходящий для сжатия коротких звуков. Ниже списка Compression при этом появятся дополнительные элементы управления, позволяющие задать параметры кодирования.
Флажок Convert stereo to mono, будучи включенным, предписывает Flash преобразовать при экспорте стереофонический звук в монофонический, благодаря чему массив звуковых данных уменьшится в два раза. Этот флажок включен по умолчанию.
Раскрывающийся список Sample rate позволяет задать частоту оцифровки звука. Он содержит четыре пункта:
□ 5kHz — 5 кГц (вполне разборчивая речь);
□ 11kHz — 11 кГц (минимальная допустимая частота оцифровки музыки; допускается для коротких фрагментов и в случаях, когда нужно любой ценой уменьшить размер файла Shockwave/Flash);
□ 22kHz — 22 кГц (наиболее часто используемая в фильмах Flash частота оцифровки звука, обеспечивающая приемлемое его качество при небольшом размере массива звуковых данных);
□ 44kHz — 44 кГц (звук CD-качества, но размер массива звуковых данных очень велик).
Внимание!
Flash может понизить частоту оцифровки импортированного звука, но не в состоянии ее повысить. Например, если в документ был импортирован звук, оцифрованный с частотой 22 кГц, то он может быть экспортирован с частотой 5,11 или 22 кГц, но не 44 кГц.
Раскрывающийся список ADPCM bits позволяет косвенно задать ширину потока данных для данного звука. Этот список содержит четыре пункта: 2 bit, 3 bit, 4 bit и 5 bit, задающих ширину потока от минимальной до максимальной.
Если в списке Compression выбран пункт MP3, то звук будет сжат с помощью известного алгоритма сжатия MPEG 1 level 3, иначе говоря, MP3. Рекомендуется выбирать его, если импортированные звуки уже сжаты этим алгоритмом. С помощью появившихся в окне дополнительных элементов управления мы можем задать параметры сжатия.
Если выделенный нами образец-звук сжат алгоритмом MP3, то окно Sound Settings будет содержать включенный по умолчанию флажок Use imported MP3 quality. (Кроме того, в этом случае в списке Compression будет изначально выбран пункт MP3.) Он предписывает Flash экспортировать этот звук без изменения его параметров. Чтобы изменить параметры экспорта звука, нужно снять этот флажок.
Раскрывающийся список Bit rate задает ширину потока данных выделенного образца-звука. Он содержит двенадцать пунктов — от 8 kbps до 160 kbps, — соответствующих значениям 8-160 Кбит/с. Как говорилось в главе 17., чем меньше ширина потока данных, тем меньше места занимает этот звук, но и тем ниже его качество.
Если выбрать ширину потока данных 20 Кбит/с или выше, становится доступным флажок Convert stereo to mono. В противном случае этот флажок будет включен и недоступен для отключения. Это значит, что звуки низкого качества Flash при экспорте всегда преобразует в монофонические.
Раскрывающийся список Quality позволяет задать скорость сжатия звука и его качество. Он имеет три пункта: Fast (быстрое сжатие, но низкое качество), Medium (средняя скорость сжатия и среднее качество звука) и Best (низкая скорость сжатия и высокое качество звука).
Если в списке Compression выбран пункт Raw, то звук вообще не будет сжат при экспорте. Рекомендуется выбирать этот пункт только для кодирования коротких звуковых фрагментов. Здесь также возможно задать некоторые параметры экспортируемого звука.
Раскрывающийся список Sample rate позволит задать частоту оцифровки звука. Он содержит четыре пункта: 5kHz, 11kHz, 22kHz и 44kHz.
Флажок Convert stereo to mono, будучи включенным, предписывает Flash при экспорте преобразовать звук в монофонический. Этот флажок включен по умолчанию.
Если выбран пункт Speech списка Compression, звук будет сжат с помощью особого алгоритма, специально созданного для кодирования речи. Выбирать данный пункт стоит только для речи "персонажей" нашего фильма.
Параметров, управляющих сжатием звука, здесь немного. Фактически доступен только уже знакомый нам раскрывающийся список Sample rate, позволяющий задать частоту оцифровки звука. Вдобавок, будет присутствовать флажок Convert stereo to mono, но он будет включен и недоступен для отключения.
Задав нужные параметры экспортируемого звука, нужно нажать кнопку ОК. Чтобы отказаться от задания новых параметров звука, следует нажать кнопку Cancel.
Кстати, все перечисленные выше элементы управления присутствуют и в уже знакомом нам диалоговом окне Sound Properties (см. рис. 17.4).
Обеспечение доступности фильма
Напоследок мы поговорим о том, как сделать наши фильмы доступными для людей с физическими недостатками. В первую очередь это будет касаться слепых и слабовидящих, для которых и операционная система Windows, и сам Flash предусматривают множество специальных средств. И одно из них — это технология "чтение с экрана".
Технология "чтение с экрана"
Увы, не всем дано радоваться ярким краскам наших изображений и фильмов Flash! Несчастные, потерявшие зрение, не смогут увидеть ничего, как бы мы не старались. Но, к счастью, невидящие люди смогут нас услышать. И в наших силах помочь им в этом.
Как? Сейчас узнаем. Но сначала познакомимся со средствами, благодаря которым слепые и слабовидящие получают возможность работать с компьютером.
Для этого используется особая технология с очень простым названием — "чтение с экрана". Заключается она в следующем. Предположим, за спиной невидящего пользователя, работающего за компьютером, стоит помощник, который говорит ему о том, что находится в данный момент на экране и в активных элементах управлениях, например в полях ввода. А невидящий, пользуясь специальной клавиатурой, поддерживающей шрифт Брайля, перемещается по элементам управления и вводит в них нужные данные. Таким образом, он сможет ввести данные в регистрационную форму почтового сервера и написать письмо. Значит, он сможет общаться с друзьями, а это уже немало!
Роль такого помощника выполняет специальное программное обеспечение, встроенное в Windows и синтезирующее речь на основе считанного из окна или элемента управления текста. Проигрыватель Flash использует это программное обеспечение, чтобы произносить вслух текст, являющийся содержимым воспроизводимого фильма. А выводится звук через звуковую карту, которая ныне является стандартным компонентом компьютера.
Внимание!
Технологию "чтение с экрана" поддерживает только ActiveX-версия проигрывателя Flash, предназначенная для Web-обозревателя Microsoft Internet Explorer и других программ, поддерживающих элементы ActiveX. Кроме того, не поддерживается доступность для безоконных режимов вывода фильмов Flash (подробнее о безоконных режимах см. главу 21).
Поддержка Flash технологии "чтение с экрана"
Как уже говорилось, Flash при создании доступных фильмов и приложений максимально идет навстречу разработчику. В частности, он автоматически обеспечивает доступность следующих фрагментов изображения:
□ текстовых блоков;
□ полей ввода;
□ кнопок;
□ компонентов (описание компонентов Flash см. в поставляемой с ним интерактивной справке);
□ клипов;
□ самого фильма (поскольку он тоже является клипом).
В случае текстовых блоков (обычных и динамических) Flash просто произносит содержащийся в них текст, например "Имя пользователя" или "Адрес". В случае других элементов все несколько сложнее.
Начнем с того, что поля ввода, кнопки и образцы-клипы, помещенные на рабочем листе, должны иметь уникальные имена, задаваемые с помощью специального поля ввода в панели Properties. Как мы уже знаем, эти имена необходимы для управления ими из сценариев ActionScript. Эти же имена называются программным обеспечением технологии "чтение с экрана" невидящему пользователю.
Поэтому, если мы хотим сделать свои фильмы доступными, мы всегда должны задавать их имена, по крайней мере, для полей ввода, кнопок и компонентов. Если же какой-либо элемент фильма, например, поле ввода, не имеет имени, программа чтения с экрана прочитает что-то вроде словосочетания "поле ввода". Не очень-то информативно, не так ли?
Конечно, имена нужно задавать не для всех элементов фильма, но только для тех, которые должны быть доступными. В частности, не стоит давать имена всем клипам на рабочем листе; достаточно дать их тем, которые используются для "общения" с пользователем.
Ну и, разумеется, нужно поместить рядом с полями ввода поясняющие надписи. Встретив комбинацию "надпись-поле ввода", программа чтения с экрана зачитает только текст надписи.
Дополнительные параметры доступности
Мы можем задать дополнительные параметры доступности того или иного фрагмента фильма и всего фильма, воспользовавшись особой панелью Accessibility (рис. 20.7). Чтобы вывести ее на экран, достаточно выбрать пункт Accessibility подменю Other Panels меню Window или нажать комбинацию клавиш <Alt>+<F2>.
Итак, что же мы сможем сделать с помощью этой панели? А вот что…
Прежде всего, мы можем задать альтернативное имя для какого-либо фрагмента фильма или для всего фильма Flash. Заданное имя будет произнесено программой чтения с экрана вместо первоначального, того, которое мы задали в панели Properties. Для задания альтернативного имени достаточно выделить нужный фрагмент (для выделения самого фильма нужно щелкнуть в пустом пространстве рабочего листа) и ввести это имя в поле ввода Name.
Можно задать для какого-либо элемента или для всего фильма дополнительное описание, произносимое вместе с именем. Это описание вводится в область редактирования Description.
Для кнопок, полей ввода и компонентов мы можем задать "горячие клавиши". Это особые комбинации клавиш, при нажатии которых данное поле ввода или компонент будет активизироваться, а кнопка — срабатывать. Текст, задающий "горячую клавишу", вводится в поле ввода Shortcut. Функциональные клавиши задаются их названиями: "Shift", "Ctrl" или "Alt", обычные клавиши — большими буквами латинского алфавита, а символ "плюс" между названиями клавиш обозначает, что эти клавиши должны нажиматься одновременно. Например, сочетание "Ctrl+H" обозначает, что для перехода к данному компоненту нужно одновременно нажать клавиши <Ctrl> и <Н>.
В поле ввода Tab index задается номер в порядке обхода данного поля ввода, кнопки или компонента. Лучше его задать, чтобы незрячие пользователи могли выбирать нужные элементы управления с помощью клавиатуры. Да и зрячим пользователям это пойдет на пользу.
Мы можем скрыть какой-либо элемент от программы чтения с экрана, для чего достаточно отключить флажок Make Object Accessible. Точно так же можно отключить доступность для всего фильма.
Если какой-либо клип содержит вложенные клипы, мы можем скрыть их от программы чтения с экрана. Для этого достаточно выделить нужный клип на рабочем листе и отключить флажок Make child objects accessible.
Если поместить текстовый блок достаточно близко к компоненту, то программа чтения с экрана посчитает такой текстовый блок надписью этого компонента. Чтобы отключить эту особенность Flash, нужно щелкнуть мышью в свободном пространстве рабочего листа и снять флажок Auto label. Правда, после этого придется задать альтернативные имена и описания для всех элементов фильма.
Полезные советы по созданию доступных фильмов
В этом разделе будет приведен ряд дополнительных рекомендаций, которые помогут нам в создании доступных фильмов Flash.
Прежде всего, нужно помнить, что встроенное во Flash программное обеспечение, обеспечивающее чтение с экрана, читает только текст, помещенный в текстовые блоки. Программа "не понимает" графику. Поэтому, если мы превратим содержимое какого-либо текстового блока в графику, выбрав пункт Break Apart меню Modify, программа чтения с экрана прочитать его не сможет.
Далее, нужно сразу решить, будем ли мы давать текстовые описания для каждого элемента управления или дадим только общее описание для всего фильма. Если фильм не содержит никаких элементов управления, то лучше всего выбрать первый вариант, в противном случае (например, если мы пишем сложное Flash-приложение) — второй.
Лучше всего не анимировать поля ввода, кнопки, компоненты и надписи к ним. Некоторые программы чтения с экрана некорректно обрабатывают анимированные элементы управления, что вряд ли понравится нашим пользователям.
Если в фильме используется импортированный звук, нужно постараться сделать так, чтобы он не мешал пользователям слушать синтезированную программами чтения с экрана речь. Не следует использовать слишком много громких звуков, да еще и воспроизводящихся постоянно. Вообще, звук должен применяться умеренно и строго к месту.
Следует исключить в своем фильме ситуации, когда объемный текст отображается на экране очень короткое время, после чего пропадает без следа. Нужно помнить, что в этом случае программа чтения с экрана просто не успеет прочитать его пользователю.
И напоследок, не забудьте проверить, можно ли "путешествовать" по элементам управления нашего Flash-приложения, пользуясь только клавиатурой. Ведь клавиатура — единственный инструмент ввода информации в компьютер, который может использовать незрячий пользователь.
Что дальше?
После того как мы подготовили наш фильм к публикации, можно приступать собственно к его публикации или экспорту. О том, как осуществляется публикация и экспорт фильма, будет рассказано в следующей главе.