1 / 21

Build assistive technologies for Windows 8

APP-189T. Build assistive technologies for Windows 8. Brett Humphrey Senior Test Lead Microsoft Corporation. Agenda. Demo M agnifier and Narrator Windows 8 Accessibly Platform, new and improved Integration and extension o pportunities Metro s tyle a pps Call to action

axel
Download Presentation

Build assistive technologies for Windows 8

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. APP-189T Build assistive technologies for Windows 8 Brett Humphrey Senior Test Lead Microsoft Corporation

  2. Agenda • Demo Magnifier and Narrator • Windows 8 Accessibly Platform, new and improved • Integration and extension opportunities • Metro style apps • Call to action You’ll leave with the understanding • UI Automation is our core platform • New opportunities for innovation, integration, and extension

  3. demo Accessibility Platform in action Magnifier Narrator

  4. Windows 8 Narrator is… • UI Automation • Windows 8 UI • Touch integration • Industry standards

  5. Accessibility Platform

  6. Accessibility Platform, new and improved New Improved UI Automation Magnification APIs DWM always on Ease of Access Extensibility • Touch Interaction • Hardware Button Extensibility • TTS Engines

  7. Integration opportunities

  8. Integration opportunities • Windows 8 UI • Transitions between Metro style apps and desktop • Docking below Metro style app apace • Touch keyboard interaction • Ability to appear on top

  9. Metro style apps

  10. Metro style apps • UI Automation

  11. Call to action • Port existing software to Windows 8 • Take advantage of the Windows 8 extensibility • Consider new touch/tablet opportunities

  12. References • UI Automation Improvements • Same location as Win7 headers , uiautomation.h (key improvements made in ITextProvider2) • Shell Notifications • IImmersiveModeNotification interface available in shobjidl.h. • Docking • IAccessibilityDockingServiceCallback interface is in shobjidl.h • Touch injection API • registration API as well as all WM_TOUCH, device, and injection APIs are in Winuser.h • ANRUS API’s are in Oleacc.h • how to process touch data is in interactioncontext.h • Full Screen Magnification • Same location as Win7 Mag API, magnification.h • Font Smoothing Whitepaper • http://download.microsoft.com/download/E/0/9/E0911C64-8A86-4274-B474-91D200922F90/Magnification_Approaches_for_Accessibility.docx

  13. thank you Feedback and questions http://forums.dev.windows.com Session feedbackhttp://bldw.in/SessionFeedback

  14. © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

  15. Code Snip-its

  16. Notifications Code Snippet IImmersiveMode *_pImmersiveMode;     DWORD _dwCookieImmersive; hr = CoCreateInstance(CLSID_ImmersiveMode, nullptr, CLSCTX_INPROC, IID_PPV_ARGS(&_pImmersiveMode));     if (SUCCEEDED(hr))     { hr = _pImmersiveMode->Advise(this, &_dwCookieImmersive);     }     // IImmersiveModeNotification methods.     IFACEMETHODIMP CNotificationHandler::MonitorModeChanged(__in HMONITOR hMonitor, __in IMMERSIVE_MONITOR_MODE modePrevious, __in IMMERSIVE_MONITOR_MODE modeCurrent)     {         // Take action in response to a switch to or from the desktop at a specific monitor...     }     IFACEMETHODIMP CNotificationHandler::LauncherVisibilityChange(__in VARIANT_BOOL fCurrentVisibleState)     {         // Take action in response to the Start screen either being shown or hidden...     }

  17. Docking Code Snippet IAccessibilityDockingService *_pDockingService; hr = CoCreateInstance(__uuidof(AccessibilityDockingService), nullptr, CLSCTX_INPROC, IID_PPV_ARGS(&_pDockingService));     UINT uiWidthFixed, uiHeightMax; hr = _pDockingService->GetAvailableSize(hMonitor, &uiWidthFixed, &uiHeightMax);     if (SUCCEEDED(hr))     {         // Check whether there’s sufficient space on the screen to dock the window.         if (uiHeightMax >= c_minDockHeight)         {             // The window being docked must not be resizable, and must have the WS_EX_TOOLWINDOW extended style. hr = _pDockingService->DockWindow(_hWndDocked, hMonitor, uiHeightMax, this);         } }     // IAccessibilityDockingServiceCallback::Undocked() method.     IFACEMETHODIMP CNotificationHandler::Undocked(__in UNDOCK_REASON undockReason)     {    // Take action in response to the docked window being undocked for some reason         // other than a call to the UndockWindow() method. (For example, the screen         // resolution has changed, and there’s no longer room to dock the window.)     }

  18. Touch Code Snippet //the HWND specified needs to be a message window (have HWND_MESSAGE as its parent) and be created in a process that has UIAccessprivileges if (RegisterPointerInputTarget(hwnd, PT_TOUCH)) { //once we have registered as the touch target, notify system components that a touch accessibility component is running hr= AccSetRunningUtilityState(hwnd, ANRUS_TOUCH_MODIFICATION_ACTIVE, ANRUS_TOUCH_MODIFICATION_ACTIVE); }

  19. session code Title of Presentation Name Title Microsoft Corporation

More Related