واجهة أتمتة ونشط 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الأولوية في حالة كل منهما موجودة. |
|
get_accName |
|
|
get_accRole |
راجع الجدول السابق لتعيين أدوار ل عنصر تحكم أنواع. |
|
get_accValue |
صالحة فقط من أجل عنصر تحكم الأنواع التي تعتمد ValuePattern أو RangeValuePattern. يتم normalized قيم RangeValue إلى 0-100، أن تكون متوافقة مع سلوك (MSAA). استخدم عناصر القيمة سلسلة. |
|
get_accHelp |
||
accLocation |
||
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 |
نعم |
|
state_system_expanded |
نعم |
|
state_system_focusable |
لا |
|
state_system_focused |
لا |
|
state_system_haspopup |
ExpandCollapsePatternلعناصر قائمة |
لا |
state_system_invisible |
IsOffscreenProperty= صواب وGetClickablePointيؤدي إلىNoClickablePointException |
لا |
state_system_linked |
لا |
|
state_system_mixed |
لا |
|
state_system_moveable |
لا |
|
state_system_mutliselectable |
لا |
|
state_system_offscreen |
IsOffscreenProperty= صواب |
لا |
state_system_protected |
لا |
|
state_system_readonly |
RangeValuePattern.IsReadOnlyProperty و ValuePattern.IsReadOnlyProperty |
لا |
state_system_selectable |
SelectionItemPatternهو دعم |
لا |
state_system_selected |
لا |
|
state_system_sizeable |
لا |
|
state_system_unavailable |
نعم |
توضح الإجراءات التالية سواء تم تنفيذها لا بواسطة معظم 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 |
|
event_object_defactionchange |
لا يوجد بديل |
event_object_descriptionchange |
لا يوجد مكافئ تماما؛ ربما HelpTextPropertyأو LocalizedControlTypePropertyتغيير خاصية |
event_object_destroy |
|
event_object_focus |
|
event_object_helpchange |
HelpTextPropertyتغيير |
event_object_hide |
|
event_object_locationchange |
BoundingRectanglePropertyتغيير خاصية |
event_object_namechange |
NamePropertyتغيير خاصية |
event_object_parentchange |
|
event_object_reorder |
عدم استخدامها بشكل متناسق في Active Accessibility. معرف حدث ليس المقابلة مباشرة في UI Automation. |
event_object_selection |
|
event_object_selectionadd |
|
event_object_selectionremove |
|
event_object_selectionwithin |
لا يوجد بديل |
event_object_show |
|
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 |
|
event_system_dialogstart |
|
event_system_dragdropend |
لا يوجد بديل |
event_system_dragdropstart |
لا يوجد بديل |
event_system_foreground |
|
event_system_menuend |
|
event_system_menupopupend |
|
event_system_menupopupstart |
|
event_system_menustart |
|
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تغيير خاصية |
لا يوجد بديل |
|
لا يوجد بديل |
الأمان
بعض IAccessibleتتطلب سيناريوهات التخصيص التفاف أساس IAccessibleو الاتصال عبر إلى it. ويكون لهذا ضمانات الأمان، حيث لا يجب أن يكون أحد مكونات موثوق به جزئيا وسيط تشغيل مسار رمز.
UI Automationطراز إزالة الحاجة إلى موفري للاتصال من خلال تعليمات برمجية موفر آخر. UI Automationالخدمة الأساسية الجميع الضرورة التجميع.