Appendix B. Browser-Hosted Applications

As described in Requirement 1.10 in this Server Specification, clients that ship as part of distributed applications must comply with the desktop application specification for Windows 2000 in order for the application to be certified. However, special considerations apply for browser-hosted applications:

  • Clients that are browser-hosted Web pages, use only pure HTML and DHTML, and contain no executable content (e.g., no ActiveX or Java controls) need not be tested for full compliance with the Desktop Application Specification, because they will, for the most part, inherit the compliance of their host browser. However, these browser-hosted clients are required to meet the following two specific requirements:
    • Provide documented keyboard access to all features

    • Do not rely exclusively on sound.

      For information on designing accessible Web content, see "Web Content Accessibility Guidelines" at https://www.w3c.org/WAI/.

  • Browser-hosted clients that include executable content, such as ActiveX or Java controls, must comply with the requirements in the Desktop Application Specification indicated on the checklist below.

Note   Some requirements below may not apply to your application, if your application does not expose functionality covered by the requirement. For example, if your application does not expose file names to the user, then Requirement 1.3 does not apply.

   Windows Fundamentals
X 1.1 Perform primary functionality and maintain stability
X 1.2 Provide 32-bit components
X 1.3 Support Long File Names and UNC paths (if you expose file names)
X 1.4 Support printers with long names and UNC paths (if you support printing)
X 1.5 Do not read from or write to Win.ini, System.ini, Autoexec.bat or Config.sys on any Windows operating system-based on NT technology.
X 1.6 Ensure non-hidden files outside of your application directory have associated file types, and all file types have associated icons, descriptions, and actions
X 1.7 Perform Windows version-checking correctly (if you need to determine the Windows version)
X 1.8 Support AutoPlay of compact discs (if you distribute your product on CD)
X 1.9 Kernel mode drivers must pass verification testing on Windows 2000 (if you have any)
X 1.10 Hardware drivers must pass WHQL testing (if you have any)
  Install/Uninstall
X* 2.1 Install using a Windows Installer-based package that passes validation testing
X* 2.2 Observe rules in componentization
X* 2.3 Identify shared components
2.4 Install to Program Files by default
2.5 Support Add/Remove Programs properly
X* 2.6 Ensure that your application supports advertising
2.7 Ensure correct uninstall support
* ActiveX controls must be packaged using MSI in order to run in a secure environment. See Knowledge-base Article Q241163.
Component Sharing
X 3.1 Do not attempt to replace files that are protected by System File Protection
3.2 Component producers-Build side-by-side components
3.3 Application developers-Consume and install side-by-side components
X 3.4 Install non-side-by-side shared files to the correct locations
Data and Settings Management
X 4.1 Default to My Documents for storage of user-created data (if you have local file I/O)
X 4.2 Classify and store application data correctly
X 4.3 Degrade gracefully on access denied
X 4.4 Run in a secure Windows environment
X 4.5 Adhere to system-level Group Policy settings
X 4.6 Applications that create ADM files must properly store their ADM file settings in the registry (if you supply ADM files)
User Interface Fundamentals
X 5.1 Support standard system size, color, font, and input settings
X 5.2 Ensure compatibility with the High-Contrast option
X 5.3 Provide documented keyboard access to all features
X 5.4 Expose the location of the keyboard focus
X 5.5 Do not rely exclusively on sound
X 5.6 Do not place shortcuts to documents, help, or uninstall in the Start menu
X 5.7 Support multiple monitors (if your executable code specifies screen coordinates you need to verify that it does so properly)
OnNow/ACPI Support
6.1 Indicate busy application status properly
6.2 Respond to sleep requests from the operating system properly
6.3 Handle sleep notifications properly
6.4 Handle wake from normal sleep without losing data
6.5 Handle wake from critical sleep properly
Application Migration
N/A 7.1 Application must continue to function after upgrade to Windows 2000 Professional without reinstall