Closed Bug 328247 Opened 19 years ago Closed 19 years ago

TB 1.5.* Cannot "apply"/"Display" "installed" Theme of XP Home Users who Are using "High Contrast" "Accessibility" Feature in Windows.

Categories

(Thunderbird :: General, defect)

x86
Windows XP
defect
Not set
major

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 328812

People

(Reporter: jnuncus1, Assigned: mscott)

References

()

Details

Attachments

(7 files, 4 obsolete files)

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1 Build Identifier: User Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051201 Thunderbird/1.5 If "high contrast" feature (Windows TSR) is ON and resident in memory at the time TB loads and attempts to execute its graphic instruction set for a custom theme, the custom theme will NOT display; and only the "default theme" is displayed. "High contrast" is a Windows feature that is used by almost all visually impaired Users; it's use, however, is not confined to individuals who are "severely" visually impaired but, instead, is a widely used feature by any and all individuals who have difficulty in viewing a graphical user interface. Affects Users of TB ver. 1.5 or higher. Problem did not exist in TB ver. 1.0.7. REPRODUCABLE? YES. Every time. HOW TO REPRODUCE: Install any custom theme (top rated or not) in TB ver. 1.5 and above. Exit from TB. Turn "high contrast" in Windows Accessibility Options (Control Panel) to ON by checking the box on the "Display" tab. Restart TB and choose the custom theme. Restart TB so theme will take effect. RESULT: only the default theme displays, although the default theme may in fact exhibit "some" color-only characteristics of the custom theme you tried to "apply"/display. HOW TO PARTIALLY (unsatisfactory) FIX: Turn "high contrast" to OFF and restart TB. NOT a good option for the visually impaired who generally require BOTH "high contrast" AND a hi-contrast TB custom theme containing more contrast and sharper delineation among UI features than are afforded by the default theme. Specific platform is XP Home (reported by many); but suspect "any" Windows O/S in which the "high contrast" Windows TSR for visually impaired users is loaded in memory at the time TB is "launched" (point in time when TB reads its theme instruction set and attempts to execute the custom theme graphics code). Estimated Users affected: literally millions and millions. Severity and Importance: VERY HIGH. Critical to visually impaired users inasmuch as users who have visual difficulty in reading or viewing a GUI REQUIRE "high contrast" in most instances to be able to use a computer at all; and many users in that category also use a custom theme that is more easily readable than the TB default theme which is not really a hi-contrast type UI. Suspected Underlying cause: TB is attempting to execute its code in a memory address space to which TB, under Windows O/S preemption hierarchy, has no "rights" to access when a user is using "high contrast." Reproducible: Always 1. This appears to be an "errant code" problem pursuant to which TB is attempting to access a memory address that is already occupied by other code that is executing and to which memory address, under the Windows O/S preemption rules, TB has no "right" to access. Therefore TB is NOT being allowed by the Windows O/S to execute its custom theme graphical instruction set, with the result that TB cannot display the custom theme. Apparently there is no conflict between the default theme and the Windows "high contrast" feature (TSR). 2. Turning the high contrast feature OFF in Windows allows the custom theme to "apply" and "display." 3. What is wrong? Suspect that Windows O/S in this instance is denying the memory address space, already in use by the high contrast TSR, to TB, as it should be doing. TB is the culprit here, attempting to execute "errant code" in an address space that TB should not be attempting to access. Again, this was NOT a problem in TB ver(s). 1.0.7 and below. 4. Undertake to perform BOTH sets of test steps listed below. We have found NO instances in which this conflict fails to Occur on any Windows XP Home Edition machine. We have not, however tested it with other versions of Windows such as Windows 2000, Windows 98, or Windows ME. Reproducible: Always Steps to Reproduce: 1. Install any theme in TB, version 1.5 or higher. 2. Exit TB. 3. In Control Panel, go to "Accessibility Options" and then to the "Display" tab. 4. Check the checkbox to switch "high contrast" to "ON." 5. Click "Apply" and "OK," or "OK" to save the setting and exit the dialog box. 6. "Launch" TB. 7. Choose "any" theme other than the default theme. 8. Restart Thunderbird. 9. Result will be that the custom theme does NOT display although it will appear in TB "Themes" as being BOTH "installed" and "applied." ---------------- ADDITIONAL TEST: ---------------- 1. Start TB with a custom theme of your choosing. Suggest you use Schellen's Modern Pinball theme for this inasmuch as his theme is a "metallic" color theme that will show marked differences from the default Windows XP Home colors. 2. Go to Control Panel and switch the high contrast feature to ON as above. DO NOT re-start TB. NOTE - IMPORTANT: The high contrast feature does in fact apply to TB and the custom theme CONTINUES to display without degradation and at a much higher level of contrast than before you switched on high contrast. 3. Minimize, but do NOT exit TB. NOTE: On your Windows task bar and generally throughout your Windows interface, the "metallic" color features from the Modern Pinball theme affect the Windows Desktop color scheme also. This suggests a memory address conflict. TB and Windows hi-contrast are fighting each other. 4. NOW, EXIT and RE-START TB. RESULT: Your custom theme no longer appears. Instead, TB only displays its default theme. 5. Now, turn OFF your high contrast. 6. Restart TB. RESULT: Your custom theme displays again as normal. Actual Results: When the Windows High Contrast TSR is resident and running in memory, TB cannot execute its code necessary for TB to display its custom theme that the User has selected and chosen as his or her "displayed" theme. Users are, therefore, confined to using the default TB UI theme and cannot use a custom theme written by the themers. Expected Results: When a User installs a custom theme in TB that in fact has been cleared as being suitable for use in the User's version of TB, the User expects the TB software to "display" his selected theme, regardless of whether he is running the Windows High Contrast accessibility feature. In this instance, however, due to the apparent conflict, the custom theme will not "display" and ONLY the default theme appears displayed. Depending upon the custom theme that was attempted to be displayed, the default theme may exhibit some of the color characteristics of the custom theme but will display none of the other graphical features of the custom theme, such as, for example, buttons, icons, tab features, sidebar columns, and the like. The software should have executed the instruction set for the custom theme's graphics and should have displayed the custom theme in TB. More specifically, the TB software should NOT have tried to execute its code in the space already occupied by the "high contrast" Windows TSR but, instead, should have used a different memory address. In short, the TB core code governing the "display" of a custom theme should be re-written so that it no longer conflicts with the "high contrast" "accessibility" feature in Windows XP Home (and most likely all other versions of Windows that use the same memory address space as XP Home Edition uses for the high contrast TSR. NOTE: This problem first appeared in TB ver. 1.5.*. This was NOT a problem in TB 1.0.7 and previous. Theme being used: Schellen's Modern Pinball theme. Works perfectly when "high contrast is OFF in XP Home Edition. CROSS REF: Bugzilla Bug 328119 - FFx 1.5.* Cannot "apply"/"Display" "installed" Theme of XP Home Users who Are using "high contrast" in Windows. https://bugzilla.mozilla.org/show_bug.cgi?id=328119#c7 Apparently, some "errant code" got written for TB 1.5.* and FFx 1.5.* that broke completely and absolutely their ability to display a custom theme in the case in which a User is using Windows XP (and perhaps other versions of Windows) ehen the User is using the "High contrast" "Accessibility" feature in Windows. Generated: Wed Feb 22 2006 20:34:31 GMT-0500 (Eastern Standard Time) User Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051201 Thunderbird/1.5 Build ID: 2005120115 Enabled Extensions: [5] - Attachment Extractor 0.6.5: http://www.eviljeff.com/?page=moz-extensions - Menu Editor 1.2: http://menueditor.mozdev.org/ - MR Tech Local Install 4.2.1.1: http://www.mrtech.com/extensions/local_install/ - No New Window on Double Click 0.2.3: http://www.chuonthis.com/extensions/ - Talkback 1.5: http://talkback.mozilla.org/ Disabled Extensions: [2] - Attachment Sizes 0.0.3: http://www.supportware.net/mozilla/ - Contacts Add BCC button 0.0.3: http://www.supportware.net/mozilla/ Total Extensions: 7 Installed Themes: [2] - Modern Pinball 1.5.2: http://mozilla-themes.schellen.net/thunderbird.html - Thunderbird (default): http://www.mozilla.org/
Simply gives the developers a start on "high contrast" accessibility in Windows XP.
This gives the developers mor info on the coding involved in high contrast feature in Windows. Note: Windows sets a system wide bit when high contrast is turned to ON.
Syntax info on coding for high contrast feature in Windows. Perhaps this will help.
Article might be useful to developers in that it contains the Microsoft testing regime for high contrast compatability of apps.
Note, from Sara Ford's article, Testing for Accessibility, Sara Ford, Microsoft Corporation, March 2004, the effect of switching "High Contrast" to ON in Windows is as follows: "High Contrast modifies the operating system font size and font colors. When High Contrast is set, the High Contrast OS System bit is set. If you enjoy working outside on a laptop on sunny days, try using High Contrast Black (large) scheme to improve visibility. The difference between checking the High Contrast check box and manually customizing the display settings is that the OS System bit is set. If the user manually customizes the OS System Colors to look exactly like High Contrast Black (large) scheme, the application must respond just as it would under the High Contrast scheme. This response should occur because all colors are taken from the OS System Settings. " Thus, this may in fact be not so much a problem as a memory address conflict as it is a failure to program to the proper API's that one programs to in order to accommodate the fact that the High Contrast OS System bit has been set. The API's and syntax structures are enclosed above in the articles and article excerpts. Nuncus
It may well be that the problem here is NOT an address conflict. Upon further reading in the Microsoft materials, the following is contained in the "Remarks" section of the attachment excerpt: "There is a difference between the High Contrast color scheme and the High Contrast Mode. The High Contrast color scheme changes the system colors to colors that have obvious contrast; you switch to this color scheme by using the Display Options in the control panel. The High Contrast Mode, which uses SPI_GETHIGHCONTRAST and SPI_SETHIGHCONTRAST, advises applications to modify their appearance for visually-impaired users. It involves such things as audible warning to users and customized color scheme (using the Accessibility Options in the control panel). For more information, see HIGHCONTRAST. For more information on general accessibility features, see Accessibility." See: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/systemparametersinfo.asp?frame=true&hidetoc=true (towards end of article). It seems reasonably clear that the app should be responding to the notification that it receives by virtue of the fact that the OS System bit has been set for High Contrast Mode by "modify[ing] [its] appearance for visually-impaired users;" and the app is not doing this correctly, or, at least is not doing so in a manner that will continue to have the OS allow the app to "display" a theme extension that is riding on the default theme. Nuncus
Same issue as described in bug 328119. Bug 328119 has a working patch, and is for FF. This bug is simply saying that TB should also be fixed (and Seamonkey, and Sunbird, and ...)
Depends on: 328119
Attachment #212915 - Attachment is obsolete: true
Attachment #212916 - Attachment is obsolete: true
Attachment #212918 - Attachment is obsolete: true
Attachment #212941 - Attachment is obsolete: true
Duped upstream to Core bug 328812 to escape the noise here. Nuncus, please refrain from adding unnessary attachments/comments to bug 328812. *** This bug has been marked as a duplicate of 328812 ***
Status: UNCONFIRMED → RESOLVED
Closed: 19 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: