واجهة أتمتة ونشط Microsoft Office 2010 Suite إمكانية وصول ذوي الاحتياجات الخاصة

ملاحظةملاحظة

Th هو الوثائق هو المقصودة لإطار عمل.NET المطورين الذين يرغبون في استخدام المدارة UI Automationالفئات المعرفة في System.Windows.Automationمساحة الاسم.للحصول على أحدث المعلومات حول UI Automation، راجع API التنفيذ التلقائي Windows: أتمتة واجه المستخدم.

Microsoft Active Accessibilityتم الحل السابق لزيادة إمكانية الوصول إلى التطبيقات. Microsoft UI Automationهو الطراز الجديد لوصول ذوي الاحتياجات الخاصةMicrosoft Windowsو يهدف إلى معالجة احتياجات المنتجات التقنية المساعدة و المؤتمتة باختبار الأدوات. UI Automationيوفر العديد من التحسينات علىActive Accessibility.

يتضمن هذا الموضوع الميزات الأساسية من UI Automationو توضح كيف تختلف هذه الميزات من Active Accessibility.

يشتمل هذا الموضوع على الأقسام التالية.

  • لغات البرمجة
  • دعم في Windows Presentation Foundation
  • الخوادم و العملاء
  • عناصر واجهة المستخدم
  • عرض شجرة التنقل و
  • أنواع عنصر تحكم والأدوار
  • توضح خصائص و
  • أحداث
  • الأمان
  • موضوعات ذات صلة

لغات البرمجة

Active Accessibilityهو استناداًطراز كائن المكون (COM)بدعم واجهات الثنائي، و هو لذلك قابلة للبرمجة في C/C + +،Microsoft Visual Basic 6.0، والبرنامج النصي للغات. UI Automation(including the العميل-side موفر مكتبة for قياسي عناصر التحكم) هو كتابة تعليمات برمجية مُدارة، والتنفيذ التلقائي لواجهة مستخدم عميل بسهولة يتم برمجة تطبيقات #Microsoft Visual Cأو استخدام Microsoft Visual Basic .NET. موفرو واجه المستخدم التنفيذ التلقائييمكن كتابة ، وهي عبارة عن واجهة تطبيقات، في تعليمات برمجية مُدارة او/C + + C.

دعم في Windows Presentation Foundation

Windows Presentation Foundation (WPF)هو أسلوب جديد لإنشاء مستخدم الواجهات. WPFلا تتضمن عناصر دعم أصليActive Accessibility؛ ومع ذلك، تعتمدUI Automation، الذي يتضمن دعم لجسرActive Accessibilityالعملاء. عملاء المكتوب خصيصا ل UI Automationالاستفادة الكاملة من ميزات إمكانية وصول ذوي الاحتياجات الخاصة في WPF، مثل كـ الغنية اعتماد النص.

الخوادم و العملاء

في Active Accessibility، الخادم (s) وعملاء بالاتصال مباشرة، من خلال تنفيذ الخادم's كبير IAccessible.

في UI Automation، تقع الخدمة أساسية بين الملقم (يدعى موفر) و العميل. الخدمة الأساسية إجراء الاستدعاءات إلى الواجهات المطبقة بواسطة موفري ويوفر الخدمات إضافى مثل إنشاء معرفات فريدة لوقت التشغيل للعناصر. تطبيقات العميل باستخدام دالات مكتبة إلى استدعاء UI Automationالخدمة.

موفرو Auإلىmation واجهة المستخدم يمكن أن يوفر $ $ $ $ المعلومات إلى Active Accessibilityالعملاء، و Active Accessibilityيمكن أن توفر خوادم تطبيقات إلىAuإلىmation واجهة مستخدم عميل معلومات . ومع ذلك، لأن Active Accessibilityلا يعرض كـ مقدار المعلومات كـ UI Automation، النموذجين هي غير كامل متوافق.

عناصر واجهة المستخدم

Active Accessibilityيقدمواجهة المستخدمعناصر أما كـIAccessibleواجهة أو كـ معرّف التابعة. هو صعوبة في يقارن الثاني IAccessibleمؤشرات لتحديد ما إذا كانت تشير إلى نفس العنصر.

في UI Automation، كل عنصر هو ممثلة AutomationElementالكائن. Comparهوon هو باستخدام عامل تشغيل مساواة أو Equalsالطريقة، كل منها بمقارنة المعرفات الفريدة لوقت التشغيل الخاصة بالعناصر.

عرض شجرة التنقل و

واجهة المستخدم (UI)عناصر تشغيل شاشة يمكن مشاهدة كبنية الشجرية باستخدام سطح المكتب مثل الجذر، إطارات تطبيق كفوري الأطفال، و عناصر في تطبيقات المزيد من الفروع.

في Active Accessibility، العديد من العناصر auإلىmation متعلقة إلى يتعرض المستخدمين النهائيين في شجرة. يكون لتطبيقات العميل إلى الاطلاع على الجميع عناصر إلى تحديد ما هي ذات معنى.

التنفيذ التلقائي لواجهة مستخدم عميل التطبيقات انظر في واجهة المستخدممن خلال العرض الذي تمت تصفيته. تتضمن عرض فقط عناصر الهامة: وتلك التي تقدم معلومات إلى تفاعل المستخدم أو تمكين. معرفة مسبقاً طرق عرض لعناصر التحكم فقط و المحتوى فقط تتوفر عناصر؛ بالإضافة إلى ذلك، يمكن للتطبيقات تعريف طرق العرض المخصصة. UI Automationتبسيط مهمة يصفواجهة المستخدممستخدم ومساعدة مستخدم التفاعل مع تطبيق.

التنقل بين العناصر، في Active Accessibility، أما الجغرافية (تشغيل سبيل المثال، الانتقال إلى العنصر الذي يقع يسار تشغيل شاشة) المنطقية (تشغيل سبيل المثال، الانتقال إلى عنصر قائمة التالي أو العنصر التالي في ترتيب الجدولة في صندوق حوار) أو الهرمية (تشغيل سبيل المثال، نقل أول فرع في حاوية، أو من فرع لأصله). التسلسل الهرمي للتنقل هو معقدة لأن هذه العناصر التابعة ليست دائماً الكائنات التي تقوم بتنفيذ IAccessible.

في UI Automation، الجميع واجهة المستخدمعناصر AutomationElementالكائنات التي تعتمد نفس الوظيفة أساسى. (من النظر الموفر، تكون الكائنات التي تقوم بتنفيذ واجهة موروثة من IRawElementProviderSimple.) تنقل هو التسلسل الهرمي بشكل أساسي: من الأصول للأطفال، و من المشابهة واحدة إلى أخرى. (التنقل بين بين العناصر المشابهة h كـ عنصر منطقية، كـ قد اتبع ترتيب الجدولة.) يمكنك التنقل من أي بدءاً من يؤشر، واستخدام أية طريقة عرض تمت تصفيتها في شجرة وحدة التحكم، بواسطة استخدام TreeWalkerفئة. يمكنك أيضا التنقل إلى الأطفال معينة أو الفروع باستخدام FindFirstو FindAll؛ على سبيل المثال، فإنه هو سهلاً جداً استرداد الجميع العناصر الموجودة في صندوق حوار التي تعتمد نمط عنصر التحكم المحدد.

التنقل في UI Automationهو consهوtent المزيد Active Accessibility. بعض العناصر مثل كـ إفلات-أسفل القوائم والإطارات المنبثقة تظهر مرتين في Active Accessibilityشجرة، والتنقل منها أن نتائج غير متوقعة. هو المستحيل فعلياً بشكل سليم لتوفير Active Accessibilityلعنصر التحكم شريط فرعي. UI Automationيتيح reparenting و إعادة تعيين موضعها، حيث يمكن وضع عنصر في أي مكان في شجرة وحدة التحكم وعلى الرغم من هيكلي المفروضة على ملكية الإطارات.

أنواع عنصر تحكم والأدوار

Active AccessibilityيستخدمaccRoleخاصية ( IAccessible::get_actRole) إلى لاسترداد وصف الدور الخاص بالعنصر فيواجهة المستخدممثل ROLE_SYSTEM_SLIDER أو ROLE_SYSTEM_MENUITEM. دور عنصر هو دليل رئيسي للوظائف متوفر. تفاعل مع عنصر تحكم هو إنجاز باستخدام وظائف ثابتة مثل IAccessible::accSelectو IAccessible::accDoDefaultAction. تفاعل بين تطبيق العميل و واجهة المستخدمهو محدودة بما يمكن أن تتم من خلال IAccessible.

في تباين، UI Automationdecouples كبير عنصر تحكم نوع العنصر (المعين من قبل ControlTypeخاصية) من به الوظائف المتوقعة. يتم تحديد الوظيفة بواسطة عنصر تحكم نقوش معتمدة من قبل الموفر من خلال تنفيذ واجهات خاصة به. عنصر تحكم يمكن دمج الأنماط لوصف التعيين كاملة من الوظائف المعتمدة من قبل معين واجهة المستخدمالعنصر. تقوم بعض موفري مطلوب لاعتماد نمط عنصر تحكم معين؛ على سبيل المثال، يجب أن يعتمد الموفر لخانة اختيار نمط عنصر التحكم تبديل. موفري خدمات غير ذلك مطلوبة لدعم واحد أو المزيد التعيين من عنصر تحكم نماذج؛ على سبيل المثال، يجب أن يعتمد على زر تبديل أو استدعاء. لا يزال الآخرون بدعم لا عنصر تحكم نقوش الإطلاق؛ على سبيل المثال، أحد أجزاء التي لا يمكن نقل أو تغيير حجمها أو إرساء ليس لدى أي عنصر تحكم النقوش.

UI Automationتدعم عناصر التحكم المخصصة والتي تعرفCustomخاصية و يمكن وصفLocalizedControlTypePropertyخاصية.

يعرض الجدول التالي التعيين Active Accessibilityأدوار ل UI Automationعنصر تحكم أنواع.

Active Accessibilityدور

UI Automationعنصر تحكم نوع

role_system_pushbutton

الزر

role_system_client

التقويم

role_system_checkbutton

خانة اختيار

role_system_combobox

مربع تحرير وسرد

role_system_client

مخصص

role_system_list

شبكة بيانات

role_system_listitem

بيانات العنصر

role_system_document

مستند

role_system_text

تحرير

role_system_grouping

المجموعة

role_system_list

الرأس

role_system_columnheader

رأس العنصر

role_system_link

الارتباط التشعبي

role_system_graphic

الصورة

role_system_list

قائمة

role_system_listitem

عنصر القائمة

role_system_menupopup

قائمة

role_system_menubar

شريط القوائم

role_system_menuitem

عنصر القائمة

role_system_pane

جزء

role_system_progressbar

شريط التقدم

role_system_radiobutton

زر تبادلي

role_system_scrollbar

شريط التمرير

role_system_separator

فاصل

role_system_slider

شريط التمرير

role_system_spinbutton

زر زيادة ونقصان

role_system_splitbutton

زر التقسيم

role_system_statusbar

شريط الحالة

role_system_pagetablist

علامة التبويب

role_system_pagetab

علامة تبويب العنصر

role_system_table

جدول

role_system_statictext

Text

role_system_indicator

الإبهام

role_system_titlebar

شريط العناوين

role_system_toolbar

شريط الأدوات

role_system_tooltip

تلميحات الأدوات

role_system_outline

tree

role_system_outlineitem

عنصر شجرة

role_system_window

النافذة

لمزيد من المعلومات حول المختلفة عنصر تحكم أنواع، راجع أنواع عنصر تحكم التنفيذ التلقائي واجهة المستخدم.

توضح خصائص و

في Active Accessibility، يدعم عناصر التعيين شائعة من خصائص، وبعض خصائص (مثل accState) يجب أن تصف أشياء مختلفة جداً، اعتماداً تشغيل الدور الخاص بالعنصر. يجب أن تقوم الخوادم تنفيذ الجميع الأساليب من IAccessibleالتي ترجع خاصية، حتى تلك ذات الصلة إلى العنصر.

UI Automationيعرف العديد من الخصائص أكثر، البعض منها تتوافق مع إلى تفيد فيActive Accessibility. البعض الآخر عام إلى كافة العناصر، ولكن آخرين تم تحديدها إلى أنواع عناصر التحكم و أنماط التحكم . يتم تمييز الخصائص بواسطة المعرفات الفريدة، ويمكن استرداد خصائص معظم باستخدام أسلوب مفرد على GetCurrentPropertyValueأو GetCachedPropertyValue. تكون العديد من الخصائص أيضا retrievable بسهولة من Currentو Cachedخاصية accessors.

"التنفيذ التلقائي لواجهة المستخدم" الموفر لم يكن لتطبيق خصائص متعلقة، ولكن ببساطة إرجاع nullالقيمة لأية خصائص ذلك عدم اعتماد. أيضا، UI Automationالخدمة الأساسية يمكن الحصول على بعض خصائص من القيمة الافتراضية هي amalgamated موفر الإطار، وتلك مع خصائص مطبقة بشكل واضح حسب الموفر.

الإضافة إلى دعم العديد من الخصائص أكثر، UI Automationالتجهيزات بشكل أفضل أداء بواسطة السماح للعديد من الخصائص إلى استردادها باستدعاء عملية مشتركة واحدة.

يعرض الجدول التالي المراسلات بين خصائص في النموذجين.

Active Accessibilityأسلوب استرجاع قيمة خاصية

UI Automationالمعرف خاصية

ملاحظات

get_accKeyboardShortcut

AccessKeyProperty أو AcceleratorKeyProperty

AccessKeyPropertyالأولوية في حالة كل منهما موجودة.

get_accName

NameProperty

get_accRole

ControlTypeProperty

راجع الجدول السابق لتعيين أدوار ل عنصر تحكم أنواع.

get_accValue

ValuePattern.ValueProperty

RangeValuePattern.ValueProperty

صالحة فقط من أجل عنصر تحكم الأنواع التي تعتمد ValuePattern أو RangeValuePattern. يتم normalized قيم RangeValue إلى 0-100، أن تكون متوافقة مع سلوك (MSAA). استخدم عناصر القيمة سلسلة.

get_accHelp

HelpTextProperty

accLocation

BoundingRectangleProperty

get_accDescription

غير معتمد في UI Automation

accDescriptionلم لدى مواصفات واضحة ضمن (MSAA)، الذي نتج عن موفري وضع أجزاء مختلفة من المعلومات في هذه خاصية.

get_accHelpTopic

غير معتمد في UI Automation

يعرض الجدول التالي أي UI Automationتتوافق مع خصائص إلى Active Accessibilityالولاية ثوابت.

Active Accessibilityالولاية

خاصية UI Automation

تغيير الولاية مشغلات؟

state_system_checked

خانة اختيار، ToggleStateProperty

لزر الخيار، IsSelectedProperty

نعم

state_system_collapsed

ExpandCollapseState = Collapsed

نعم

state_system_expanded

ExpandCollapseState = Expanded أو PartiallyExpanded

نعم

state_system_focusable

IsKeyboardFocusableProperty

لا

state_system_focused

HasKeyboardFocusProperty

لا

state_system_haspopup

ExpandCollapsePatternلعناصر قائمة

لا

state_system_invisible

IsOffscreenProperty= صواب وGetClickablePointيؤدي إلىNoClickablePointException

لا

state_system_linked

ControlTypeProperty =

Hyperlink

لا

state_system_mixed

ToggleState = Indeterminate

لا

state_system_moveable

CanMoveProperty

لا

state_system_mutliselectable

CanSelectMultipleProperty

لا

state_system_offscreen

IsOffscreenProperty= صواب

لا

state_system_protected

IsPasswordProperty

لا

state_system_readonly

RangeValuePattern.IsReadOnlyProperty و ValuePattern.IsReadOnlyProperty

لا

state_system_selectable

SelectionItemPatternهو دعم

لا

state_system_selected

IsSelectedProperty

لا

state_system_sizeable

CanResize

لا

state_system_unavailable

IsEnabledProperty

نعم

توضح الإجراءات التالية سواء تم تنفيذها لا بواسطة معظم Active Accessibilityالتحكم الخوادم أو قد لا يوجد مكافئ في UI Automation.

Active Accessibilityالولاية

ملاحظات

state_system_busy

غير متاح في UI Automation

state_system_default

غير متاح في UI Automation

state_system_animated

غير متاح في UI Automation

state_system_extselectable

نطاق واسع غير مطبق بواسطة Active Accessibilityالملقمات

state_system_marqueed

نطاق واسع غير مطبق بواسطة Active Accessibilityالملقمات

state_system_selfvoicing

نطاق واسع غير مطبق بواسطة Active Accessibilityالملقمات

state_system_traversed

غير متاح في UI Automation

state_system_alert_high

نطاق واسع غير مطبق بواسطة Active Accessibilityالملقمات

state_system_alert_medium

نطاق واسع غير مطبق بواسطة Active Accessibilityالملقمات

state_system_alert_low

نطاق واسع غير مطبق بواسطة Active Accessibilityالملقمات

state_system_floating

نطاق واسع غير مطبق بواسطة Active Accessibilityالملقمات

state_system_hottracked

غير متاح في UI Automation

state_system_pressed

غير متاح في UI Automation

للحصول على قائمة كاملة UI Automationمعرفات خاصية، راجع واجه المستخدم أتمتة نظرة عامة حول خصائص.

أحداث

mechanهوm الحدث في UI Automation، بخلاف التي تعمل Active Accessibility، لا الاعتماد تشغيل توجيه الأحداث Windows (الذي هو عن قرب المرتبطة بمؤشرات النافذة) يتطلب تطبيق العميل لإعداد الروابط. يمكن أن يكون fine-tuned اﻻشتراكات الأحداث وليس فقط على أحداث معينة، لكن إلى أجزاء معينة من شجرة وحدة التحكم. يمكنك أيضا ضبط موفري رفع من أحداث بالمحافظة على مقطع صوتي معلومات عن ما أحداث هي التي يتم listened ل.

هو أيضا أسهل بالنسبة لعملاء استرداد العناصر تلك الأحداث raهوe، كهذه يتم تمريرها مباشرة إلى رد الاتصال للحدث. تكون الخصائص للعنصر prefetched تلقائياً إذا تم طلب ذاكرة التخزين مؤقت النشطة عند العميل الاشتراك في حدث.

يعرض الجدول التالي المراسلات من Active AccessibilityWin أحداث و UI Automationأحداث.

WinEvent

UI Automationمعرّف حدث

event_object_acceleratorchange

AcceleratorKeyPropertyتغيير خاصية

event_object_contentscrolled

VerticalScrollPercentPropertyأوHorizontalScrollPercentPropertyتغيير خاصية تشغيل أشرطة مرور المقترن

event_object_create

StructureChangedEvent

event_object_defactionchange

لا يوجد بديل

event_object_descriptionchange

لا يوجد مكافئ تماما؛ ربما HelpTextPropertyأو LocalizedControlTypePropertyتغيير خاصية

event_object_destroy

StructureChangedEvent

event_object_focus

AutomationFocusChangedEvent

event_object_helpchange

HelpTextPropertyتغيير

event_object_hide

StructureChangedEvent

event_object_locationchange

BoundingRectanglePropertyتغيير خاصية

event_object_namechange

NamePropertyتغيير خاصية

event_object_parentchange

StructureChangedEvent

event_object_reorder

عدم استخدامها بشكل متناسق في Active Accessibility. معرف حدث ليس المقابلة مباشرة في UI Automation.

event_object_selection

ElementSelectedEvent

event_object_selectionadd

ElementAddedToSelectionEvent

event_object_selectionremove

ElementRemovedFromSelectionEvent

event_object_selectionwithin

لا يوجد بديل

event_object_show

StructureChangedEvent

event_object_statechange

الأحداث المتنوعة-تم تغييره خاصية

event_object_valuechange

RangeValuePattern.ValueProperty and ValuePattern.ValueProperty changed

event_system_alert

لا يوجد بديل

event_system_captureend

لا يوجد بديل

event_system_capturestart

لا يوجد بديل

event_system_contexthelpend

لا يوجد بديل

event_system_contexthelpstart

لا يوجد بديل

event_system_dialogend

WindowClosedEvent

event_system_dialogstart

WindowOpenedEvent

event_system_dragdropend

لا يوجد بديل

event_system_dragdropstart

لا يوجد بديل

event_system_foreground

AutomationFocusChangedEvent

event_system_menuend

MenuClosedEvent

event_system_menupopupend

MenuClosedEvent

event_system_menupopupstart

MenuOpenedEvent

event_system_menustart

MenuOpenedEvent

event_system_minimizeend

WindowVisualStatePropertyتغيير خاصية

event_system_minimizestart

WindowVisualStatePropertyتغيير خاصية

event_system_movesizeend

BoundingRectanglePropertyتغيير خاصية

event_system_movesizestart

BoundingRectanglePropertyتغيير خاصية

event_system_scrollingend

VerticalScrollPercentPropertyأوHorizontalScrollPercentPropertyتغيير خاصية

event_system_scrollingstart

VerticalScrollPercentPropertyأوHorizontalScrollPercentPropertyتغيير خاصية

event_system_sound

لا يوجد بديل

event_system_switchend

لا يوجد بديل، ولكن AutomationFocusChangedEventإشارات حدث تلقاها تطبيق جديد للتركيز

event_system_switchstart

لا يوجد بديل

لا يوجد بديل

CurrentViewPropertyتغيير خاصية

لا يوجد بديل

HorizontallyScrollablePropertyتغيير خاصية

لا يوجد بديل

VerticallyScrollablePropertyتغيير خاصية

لا يوجد بديل

HorizontalScrollPercentPropertyتغيير خاصية

لا يوجد بديل

VerticalScrollPercentPropertyتغيير خاصية

لا يوجد بديل

HorizontalViewSizePropertyتغيير خاصية

لا يوجد بديل

VerticalViewSizePropertyتغيير خاصية

لا يوجد بديل

ToggleStatePropertyتغيير خاصية

لا يوجد بديل

WindowVisualStatePropertyتغيير خاصية

لا يوجد بديل

حدث AsyncContentLoadedEvent

لا يوجد بديل

ToolTipOpenedEvent

الأمان

بعض IAccessibleتتطلب سيناريوهات التخصيص التفاف أساس IAccessibleو الاتصال عبر إلى it. ويكون لهذا ضمانات الأمان، حيث لا يجب أن يكون أحد مكونات موثوق به جزئيا وسيط تشغيل مسار رمز.

UI Automationطراز إزالة الحاجة إلى موفري للاتصال من خلال تعليمات برمجية موفر آخر. UI Automationالخدمة الأساسية الجميع الضرورة التجميع.

راجع أيضًا:

موارد أخرى

واجه المستخدم أتمتة أساسيات