Очень долго меня беспокоил вопрос как работают Screen Reader's такие как например Jaws. Разобраться с HOOK, Win32 GUI и иногда прибегнуть к MS Accessibility сложности не представляло.
Загадкой всегда оставался Web Browser компонент (Internet Explorer), такие программы как Spy++ возвращали только Handle Web Browser, свои программы тоже не приносили результатов.
Но я же видел кнопки, надписи, редакторы, ссылки и картинки на Web станицах, почему же я не мог получить к ним доступ...
Пришлось потратить немало времени на IWebBrowser, IDocument, DOM и прочее.
Теперь я могу заявить - Screen Reader доступ для Web Browser реализуем очень легко, если вы захотите это сделать вам понадобится познакомится с несложными COM Интерфейсами.
Как это сделать приведено в примерах на Delphi 7 ниже. Я отказался от идеи написания длиной и скучной статьи, я представляю вашему вниманию небольшие и не сложные для понимания исходные коды, по возможности демонстрирующие решение всех проблем с которыми вы столкнетесь озвучивая Web Browser, реализуя Internet Explorer Add-ons или используя html страницы в своих программах.
Могу рекомендовать MSDN.COM для получения справки о подробностях тех или иных интерфейсов.
Если вы не найдете ответа на свой вопрос в предложенных исходных кодах, то пишите мне, обязательно постараюсь помочь.
Для компиляции примеров из этого документа: Delphi 7 с установленной палитрой компонент "Internet".
Для запуска примеров: Internet Explorer 6.0
Все откомпилированые примеры в архиве
Все исходные коды с коментариями в архиве
Пример 1. Простое приложение с WebBrowser
Описание примера 1
Запуск примера 1
Код примера 1
Пример 2. Обработка событий во время загрузки страницы
Описание примера 2
Запуск примера 2
Код примера 2
Пример 3. Перенаправление и блокирование адресов
Описание примера 3
Запуск примера 3
Код примера 3
Пример 4. Анализ последовательности событий
Описание примера 4
Запуск примера 4
Код примера 4
Пример 5. Как используя Delphi реализовать Internet Explorer подобный интерфейс пользователя.
Описание примера 5
Запуск примера 5
Код примера 5
Пример 6.Первое знакомство с IDocument, DOM, как WebBrowser сделалть редактором
Описание примера 6
Запуск примера 6
Код примера 6
Пример 7."Внешние" Web Browser.
Описание примера 7
Запуск примера 7
Код примера 7
Пример 8.Получения текста от Web Browser.
Описание примера 8
Запуск примера 8
Код примера 8
Пример 9.Web Forms
Описание примера 9
Запуск примера 9
Код примера 9