Debbie- I'm afraid I'm not following you. I re-verified my JAWS version and I don't see any difference between the .jss file you are directing me to alter and the one I copied below. It even looks like there is already a ; in front of the line I think you are talking about (which I indicated with an *). I'm sorry to be so dense, but I'm not following you. Cher ;Script files for Outlook Express Version 5-6 ;Copyright 2004 by Freedom Scientific BLV Group, LLC ; Written By Freedom Scientific Scripting Team Gold ; Version 5.1.xx ; build 500784 ; Last updated on January 12, 2004 by Olga Espinola include "hjconst.jsh" include "hjglobal.jsh" include "msoe.jsm" include "msoe.jsh" include "HjHelp.jsh" include "common.jsm" globals int WindowClosed, int ClipboardTextChanged, int nSuppressEcho, string g_strGraphicsList, string g_strGraphicsListX, string g_strGraphicsListY, int iSuppressCheckForBold, int iScheduledFunctionId, int iSuppressReadMessage int function IsUnReadMessage () If ! IsMessagesList (GetFocus ()) then Return FALSE; EndIf If GetCharacterAttributes () & ATTRIB_BOLD then Return TRUE Else Return FALSE EndIf EndFunction Int Function BrailleAddObjectUnRedStatus (int nSubTypeCode) If ! (IsMessagesList (GetFocus ())) then Return FALSE EndIf If IsUnReadMessage () then BrailleAddString (msgBrlUnread,0,0,0) Return TRUE EndIf Return FALSE EndFunction int function HandleCustomWindows (handle hwnd) var int iControl, string sSpellWord, string RealWindowName, string sListText, string sState If InHjDialog () then SayWindowTypeAndText (hWnd) Return TRUE EndIf If GlobalMenuMode then SayObjectTypeAndText () Return TRUE EndIf If hWnd == GetFocus () then If GetWindowSubtypeCode (hWnd) == WT_TOOLBAR then SayLine () Return TRUE EndIf EndIf ;To speak the Unread status of a message properly If IsMessagesList (hWnd) then ;Say (GetWindowName (hWnd), OT_CONTROL_NAME) ;Say (GetWindowType (hWnd), OT_CONTROL_TYPE) If GetCharacterAttributes () & ATTRIB_BOLD then *;SayFormattedMessage (OT_SCREEN_MESSAGE, msg_UnreadMessage_L, msg_UnreadMessage_S) Let sListText = msg_UnreadMessage_S EndIf ;Say (GetObjectValue (), OT_NO_DISABLE) Let sListText = sListText+cScSpace + GetObjectValue () IndicateControlType (WT_LISTVIEW, GetWindowName (hWnd), smmMarkupString(sListText,smmGetSpeechMarkupTextOptions(OT_LINE))) Say (PositionInGroup (), OT_POSITION);X of Y Return TRUE EndIf let iControl = GetControlID (hwnd) ; Bail when alt tabbing from a link if IsWindowVisible (FindTopLevelWindow(wcAltTabClass,scNull)) then return FALSE endif if GetWindowName (GetRealWindow (GetParent (GetFocus ()))) + sc_1 == wn_help + sc_1 then SwitchToConfiguration (msgFN4) return endif if DialogActive () then let RealWindowName = GetWindowName(GetRealWindow(hWnd)) if RealWindowName == wnCheckSpelling then If GetWindowSubTypeCode (hWnd) == WT_LISTBOX then SayWindowTypeAndText (hWnd) Let sSpellWord = GetWindowText (hWnd, READ_HIGHLIGHTED) If sSpellWord then SpellString (sSpellWord) EndIf Return TRUE EndIf if GetWindowSubTypeCode (hWnd) == WT_EDIT || GetWindowSubTypeCode (hWnd) == WT_ReadOnlyEdit then if iControl == NotInDictionary_field || iControl == changeTo_field || iControl == ChangeTo_Field2 then If ! iReadMisspelledAndSuggestion then Let iReadMisspelledAndSuggestion = TRUE PerformScript ReadMisspelledAndSuggestion() return true EndIf endIf ; let SayFocusedWindow handle it. endif ElIf RealWindowName == wnFindMessage then if iControl==id_ReceivedAfter || iControl==id_ReceivedBefore then SayMessage(ot_control_name,GetObjectName()) ; This is a complex control, of class SysDateTimePick32 SayMessage(ot_control_type,scDateTimePickerControl) SayWindowTypeAndText(hWnd) ; attempt to determine and announce the check status: let sState = cscNull ;ensure null in case state cannot be determined SaveCursor() RouteInvisibleToPC() if FindGraphic(hWnd,scCorner,s_top,s_restricted) then let sState = cmsg294_L ;"not checked" ElIf FindGraphic(hWnd,scCheckMark,s_top,s_restricted) then let sState = cMSG293_L ;"checked" EndIf RestoreCursor() SayMessage(ot_item_state,sState) return true EndIf endif endif if GetWindowClass (hwnd) == wc_ListView && not IsWindowObscured (hwnd) && iControl == attachments_list then SaveCursor () RouteInvisibleToPC () InvisibleCursor () RoutePCToInvisible () RestoreCursor () endif; This is meant to set focus when tabbing to an attachments list in an open message if ! GetObjectSubTypeCode () then if GetWindowClass (hWnd) == wc_message_body then ;Make read-only messages act like web pages and not say edit. If ! IsVirtualPcCursor () then ;Just in case the user is running with the VPC option off: If CaretVisible () then ;SayMessage (OT_CONTROL_TYPE, VMsgEdit1_L) IndicateControlType (WT_MULTILINE_EDIT) EndIf EndIf return TRUE endif endif Return false EndFunction int function HandleCustomRealWindows (handle hwnd) var string sRealName let sRealName = GetWindowName (GetRealWindow (hwnd)) if DialogActive () then If sRealName==wnCheckSpelling then SayWindowTypeAndText(GetRealWindow(hWnd)) If GetWindowSubtypeCode(GetFocus())!=wt_button then Let iReadMisspelledAndSuggestion=true PerformScript ReadMisspelledAndSuggestion () Return true EndIf Return true EndIf EndIf Return false EndFunction Void Function TopEdgeEvent (handle WindowHandle) var int iWinType Let iWinType = GetWindowSubTypeCode (WindowHandle) If BrailleFHPTopEdge () then Return EndIf If DialogActive () then Return;Avoid thumbnails, etc. EndIf If iWinType == WT_MULTISELECT_LISTBOX || iWinType == WT_EXTENDEDSELECT_LISTBOX || iWinType == WT_LISTBOX|| iWinType == WT_LISTVIEW || iWinType == WT_BUTTONLISTBOX then SayFormattedMessage (ot_jaws_message, cmsg44_L, cmsg44_S) ;"Top of window" Return endIf EndFunction Void Function BottomEdgeEvent (handle WinHandle) var int iWinType Let iWinType = GetWindowSubTypeCode (WinHandle) If BrailleFhpBottomEdge () then Return EndIf If DialogActive () then Return;Avoid thumbnails, etc. EndIf If iWinType == WT_MULTISELECT_LISTBOX || iWinType == WT_EXTENDEDSELECT_LISTBOX || iWinType == WT_LISTBOX|| iWinType == WT_LISTVIEW || iWinType == WT_BUTTONLISTBOX then SayFormattedMessage (ot_jaws_message, cmsg45_L, cmsg45_S) ;"Bottom of Window" Return endIf EndFunction void function SayNonHighlightedText (handle hwnd, string buffer) var int iWinType, int iFocusWinType, int iControl, string strStatusBarText, string TheClass let TheClass = GetWindowClass (hwnd) let iControl = GetControlID (hwnd) ;Handle alt tabbing here if GetWindowClass (hWnd) == wcAltTabClass then Say (Buffer, OT_BUFFER) return endif if ! DialogActive () && ! GlobalMenuMode then let iWinType = GetWindowSubTypeCode (hWnd) if iWinType == WT_STATUSBAR then let iFocusWinType = GetWindowSubTypeCode (GetFocus ()) if iFocusWinType == WT_TREEVIEW then if StringContains (buffer, scComma) then let strStatusBarText = buffer let strStatusBarText = (StringSegment (buffer, scComma, 2)) if (StringToInt (StringChopLeft (strStatusBarText, 1))) > 0 then Say (strStatusBarText, OT_BUFFER) endif endif endif endif endif if DialogActive () then if GetWindowName (GetRealWindow (hWnd)) == wnCheckSpelling then If GetWindowSubTypeCode (hWnd) == WT_ReadOnlyEdit && GetWindowSubTypeCode (GetFocus ()) != WT_LISTBOX then if iControl == NotInDictionary_field || iControl == changeTo_field || iControl == ChangeTo_Field2 then ; Avoid double speaking of lines in spell checker If iReadMisspelledAndSuggestion Then Let iReadMisspelledAndSuggestion = FALSE Return EndIf Let iReadMisspelledAndSuggestion=true PerformScript ReadMisspelledAndSuggestion () return endif endif If iReadMisspelledAndSuggestion then Let iReadMisspelledAndSuggestion=false return EndIf endIf endIf SayNonHighlightedText (hwnd, buffer) EndFunction Void Function SayFocusedWindow () Var Handle hWnd, Int iControl Let hWnd=GetFocus() Let iControl=GetControlId(hWnd) ;Only handle the special composition windows here. ; spellchecker handling when real whindow has changed. ; this can occur when entering spellchecker, ; when message about having finished spellchecking selected text gains focus, ; or when message about the spellchecker being completed gains focus. If globalPrevReal!=GetRealWindow(hWnd) && GetWindowName(GetRealWindow(hWnd))==wnCheckSpelling && iControl==ChangeTo_field then Return ElIf GetWindowName(GetRealWindow(hWnd))==wnCheckSpelling then ; focus is on a button. If iControl!=ChangeTo_field || iControl!=NotInDictionary_field || iControl!=ChangeTo_field2 || iControl!=OKButton then SayObjectTypeAndText() return EndIf return Else SayObjectTypeAndText () EndIf EndFunction Int Function IsMessagesList (handle hwnd) if (GetWindowClass (hWnd) == wc_List) then if (GetWindowClass (GetParent (hwnd)) == wc_messagesList_parent5) then return true; endif endif return false; EndFunction void Function AutoFinishEvent () TurnSuppressCheckForBoldOff () EndFunction Void Function TurnSuppressCheckforBoldOff () let iScheduledFunctionId = 0 let iSuppressCheckForBold = false EndFunction void function SayHighlightedText (handle hwnd, string buffer, int nAttributes) var int iControl, int iCount, string sClass, -- To post a message to the list, send it to jfw@xxxxxxxxxxxxx To unsubscribe from this mailing list, send a message to jfw-request@xxxxxxxxxxxxx with the word unsubscribe in the subject line. Archives located at: //www.freelists.org/archives/jfw If you have any concerns about the list, post received from the list, or the way the list is being run, do not post them to the list. Rather contact the list owner at jfw-admins@xxxxxxxxxxxxxx -- To post a message to the list, send it to jfw@xxxxxxxxxxxxx To unsubscribe from this mailing list, send a message to jfw-request@xxxxxxxxxxxxx with the word unsubscribe in the subject line. Archives located at: //www.freelists.org/archives/jfw If you have any concerns about the list, post received from the list, or the way the list is being run, do not post them to the list. Rather contact the list owner at jfw-admins@xxxxxxxxxxxxxx