















        Appendix B.  OOSSFF//MMoottiiff LLeevveell 11 CCeerrttiiffiiccaattiioonn CChheecckklliisstt








             The _O_S_F/_M_o_t_i_f _L_e_v_e_l _O_n_e _C_e_r_t_i_f_i_c_a_t_i_o_n _C_h_e_c_k_l_i_s_t
             _R_e_v_i_s_i_o_n _1._2 provides the list of requirements for
             OSF/MotifTM application level certification.  In order
             for your application to be certified _O_S_F/_M_o_t_i_f _S_t_y_l_e
             _G_u_i_d_e compliant, it must behave according to these
             requirements.  You certify your own application by
             comparing its behavior with that specified in the
             Checklist.  For each Checklist item, check YYeess only if
             your application performs exactly as described for that
             item.  If you have not implemented a specified type of
             behavior in any manner anywhere in your application,
             you may mark NN//AA (not applicable) for the items
             pertaining to that behavior.

             While the size of the certification Checklist may seem
             overwhelming, the majority of applications will
             automatically be in compliance with many of the items
             on the Checklist.  Throughout the Checklist, you will
             find a number of areas that are marked as follows:

             NNoottee::  Your application is very likely to comply
                    with the items in the next section of the
                    Checklist if:

                       +o it is based on a Motif Toolkit with
                         Level Two validation,

                       +o it does not use any event handlers
                         to redirect keyboard or pointer
                         events,




        May 8, 1992                                              B-1








        OSF/Motif Style Guide


                       +o it uses only widgets provided by OSF
                         in the OSF/Motif widget set, and

                       +o it uses the default widget
                         translations and the default
                         settings of the following widget
                         resources...

             Each note specifies the resources relevant to the
             Checklist requirements for that section.  If your
             application meets the criteria listed for a particular
             section, it should pass the Checklist items for that
             section with ease.

             The Checklist describes keys using a model keyboard
             mechanism.  Wherever keyboard input is specified, the
             keys are indicated by the engraving that they have on
             the OSF/Motif model keyboard.  Mouse buttons are
             described using a virtual button mechanism to better
             describe behavior independent from the number of
             buttons on the mouse.  For more information on the
             model keyboard and virtual button mechanisms, consult
             the Preface and Section 2.2.1, of the _O_S_F/_M_o_t_i_f _S_t_y_l_e
             _G_u_i_d_e (Revision 1.2).

             By default, this Checklist assumes that your
             application is being designed for a left-to-right
             language direction environment in an English locale.
             Various sections of the Checklist may be interpreted in
             the context of both your language and scanning
             direction.

             As you compare the behavior of your application to the
             requirements in the Checklist, we recommend that you
             follow along in the _O_S_F/_M_o_t_i_f _S_t_y_l_e _G_u_i_d_e (Revision
             1.2).  For each Checklist item, corresponding section
             numbers in the _O_S_F/_M_o_t_i_f _S_t_y_l_e _G_u_i_d_e have been provided
             for your convenience.  Each item in the Checklist is
             also followed by a brief explanation and/or
             justification.  If you do not understand a particular
             item, refer to the appropriate section in the guide and
             check the glossary in the guide for any terms that are
             unclear.











        B-2                                              May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


        B.1  AApppplliiccaattiioonn DDeessiiggnn aanndd LLaayyoouutt





        B.1.1  PPrriimmaarryy WWiinnddoowwss



             YYeess NN//AA NNoo

             _ _ _11--11::            Your application has at least one
                                 MainWindow (Sections 6.1.1, 6.2.1).

                                 _A _M_a_i_n_W_i_n_d_o_w _c_o_n_t_a_i_n_s _a _c_l_i_e_n_t _a_r_e_a
                                 _a_n_d, _o_p_t_i_o_n_a_l_l_y, _a _M_e_n_u_B_a_r, _a
                                 _c_o_m_m_a_n_d _a_r_e_a, _a _m_e_s_s_a_g_e _a_r_e_a, _a_n_d
                                 _S_c_r_o_l_l_B_a_r_s.  _T_h_e _c_l_i_e_n_t _a_r_e_a
                                 _c_o_n_t_a_i_n_s _t_h_e _f_r_a_m_e_w_o_r_k _o_f _t_h_e
                                 _a_p_p_l_i_c_a_t_i_o_n.  _T_h_e _u_s_e _o_f _a
                                 _M_a_i_n_W_i_n_d_o_w _e_n_s_u_r_e_s _i_n_t_e_r_a_p_p_l_i_c_a_t_i_o_n
                                 _c_o_n_s_i_s_t_e_n_c_y.

             _ _ _11--22::            If your application has multiple
                                 MainWindows that serve the same
                                 primary function, each window
                                 closes and iconifies separately
                                 (Section 6.2.1).

                                 _F_o_r _e_x_a_m_p_l_e, _a _t_e_x_t _e_d_i_t_o_r _m_i_g_h_t
                                 _a_l_l_o_w _t_h_e _u_s_e_r _t_o _e_d_i_t _m_u_l_t_i_p_l_e
                                 _d_o_c_u_m_e_n_t_s, _e_a_c_h _i_n _i_t_s _o_w_n
                                 _M_a_i_n_W_i_n_d_o_w.  _E_a_c_h _w_i_n_d_o_w _i_s _t_h_e_n
                                 _t_r_e_a_t_e_d _a_s _a _s_e_p_a_r_a_t_e _a_p_p_l_i_c_a_t_i_o_n
                                 _a_n_d _c_a_n _b_e _c_l_o_s_e_d _o_r _i_c_o_n_i_f_i_e_d _w_h_e_n
                                 _i_t _i_s _n_o_t _b_e_i_n_g _u_s_e_d.

             _ _ _11--33::            If your application has multiple
                                 MainWindows that serve different
                                 primary functions, each window
                                 iconifies separately (Section
                                 6.2.1).

                                 _F_o_r _e_x_a_m_p_l_e, _a _d_e_b_u_g_g_e_r _m_i_g_h_t
                                 _p_r_o_v_i_d_e _s_e_p_a_r_a_t_e _M_a_i_n_W_i_n_d_o_w_s _f_o_r
                                 _e_d_i_t_i_n_g _s_o_u_r_c_e _c_o_d_e, _e_x_a_m_i_n_i_n_g _d_a_t_a
                                 _v_a_l_u_e_s, _a_n_d _v_i_e_w_i_n_g _r_e_s_u_l_t_s.  _E_a_c_h
                                 _w_i_n_d_o_w _c_a_n _b_e _i_c_o_n_i_f_i_e_d _w_h_e_n _i_t _i_s
                                 _n_o_t _b_e_i_n_g _u_s_e_d, _b_u_t _i_t _i_s _u_p _t_o _t_h_e
                                 _a_p_p_l_i_c_a_t_i_o_n _t_o _d_e_c_i_d_e _w_h_e_t_h_e_r _e_a_c_h



        May 8, 1992                                              B-3








        OSF/Motif Style Guide


                                 _w_i_n_d_o_w _c_l_o_s_e_s _s_e_p_a_r_a_t_e_l_y _o_r _w_h_e_t_h_e_r
                                 _c_l_o_s_i_n_g _o_n_e _w_i_n_d_o_w _c_l_o_s_e_s _t_h_e
                                 _e_n_t_i_r_e _a_p_p_l_i_c_a_t_i_o_n.



        B.1.2  UUsseerr IInntteerraaccttiioonn



             YYeess NN//AA NNoo

             _ _ _11--44::            Your application supports methods
                                 of interaction for keyboard-only
                                 users.  All features of your
                                 application are available from the
                                 keyboard (Sections 1.3.1, 2.2).

                                 _S_o_m_e _u_s_e_r_s _m_a_y _n_o_t _h_a_v_e _a_c_c_e_s_s _t_o _a
                                 _p_o_i_n_t_i_n_g _d_e_v_i_c_e.  _T_h_e_s_e _u_s_e_r_s _n_e_e_d
                                 _t_o _b_e _a_b_l_e _t_o _a_c_c_e_s_s _t_h_e _f_u_l_l
                                 _f_u_n_c_t_i_o_n_a_l_i_t_y _o_f _t_h_e _a_p_p_l_i_c_a_t_i_o_n
                                 _f_r_o_m _t_h_e _k_e_y_b_o_a_r_d.  _A_d_d_i_t_i_o_n_a_l_l_y,
                                 _a_d_v_a_n_c_e_d _u_s_e_r_s _w_i_l_l _b_e _a_b_l_e _t_o _u_s_e
                                 _t_h_e _k_e_y_b_o_a_r_d _t_o _p_e_r_f_o_r_m _s_o_m_e _t_a_s_k_s
                                 _m_o_r_e _q_u_i_c_k_l_y _t_h_a_n _w_i_t_h _a _p_o_i_n_t_i_n_g
                                 _d_e_v_i_c_e.

             _ _ _11--55::            If your application uses
                                 accelerators, the component with
                                 the accelerator displays the
                                 accelerator key or key combination
                                 following the Label of the
                                 component (Section 5.2).

                                 _A_n _a_c_c_e_l_e_r_a_t_o_r _i_s _a _k_e_y _o_r _k_e_y
                                 _c_o_m_b_i_n_a_t_i_o_n _t_h_a_t _i_n_v_o_k_e_s _t_h_e _a_c_t_i_o_n
                                 _o_f _s_o_m_e _c_o_m_p_o_n_e_n_t _r_e_g_a_r_d_l_e_s_s _o_f _t_h_e
                                 _p_o_s_i_t_i_o_n _o_f _t_h_e _l_o_c_a_t_i_o_n _c_u_r_s_o_r
                                 _w_h_e_n _t_h_e _a_c_c_e_l_e_r_a_t_o_r _i_s _p_r_e_s_s_e_d.
                                 _S_o _t_h_a_t _t_h_e _u_s_e_r _k_n_o_w_s _t_h_e _t_h_e_r_e _i_s
                                 _a_n _a_c_c_e_l_e_r_a_t_o_r _a_s_s_o_c_i_a_t_e_d _w_i_t_h _a
                                 _c_o_m_p_o_n_e_n_t, _t_h_e _a_c_c_e_l_e_r_a_t_o_r _n_e_e_d_s _t_o
                                 _b_e _d_i_s_p_l_a_y_e_d.

             _ _ _11--66::            If your application uses mnemonics,
                                 the Label for the component with
                                 the mnemonic contains the character
                                 that is its mnemonic.  If the Label
                                 does not naturally contain the
                                 character, the mnemonic is placed



        B-4                                              May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                                 in parentheses following the Label
                                 (Section 5.3).

                                 _A _m_n_e_m_o_n_i_c _i_s _a _s_i_n_g_l_e _c_h_a_r_a_c_t_e_r
                                 _t_h_a_t _c_a_n _b_e _a_s_s_o_c_i_a_t_e_d _w_i_t_h _a_n_y
                                 _c_o_m_p_o_n_e_n_t _t_h_a_t _c_o_n_t_a_i_n_s _a _t_e_x_t
                                 _L_a_b_e_l.  _M_n_e_m_o_n_i_c_s _p_r_o_v_i_d_e _a _f_a_s_t
                                 _w_a_y _o_f _s_e_l_e_c_t_i_n_g _a _c_o_m_p_o_n_e_n_t _f_r_o_m
                                 _t_h_e _k_e_y_b_o_a_r_d.  _S_o _t_h_a_t _t_h_e _u_s_e_r
                                 _k_n_o_w_s _t_h_a_t _t_h_e_r_e _i_s _a _m_n_e_m_o_n_i_c
                                 _a_s_s_o_c_i_a_t_e_d _w_i_t_h _a _s_e_l_e_c_t_i_o_n, _t_h_e
                                 _m_n_e_m_o_n_i_c _i_s _u_n_d_e_r_l_i_n_e_d _i_n _t_h_e _L_a_b_e_l
                                 _o_f _t_h_e _s_e_l_e_c_t_i_o_n _b_y _t_h_e _t_o_o_l_k_i_t.
                                 _I_n _o_r_d_e_r _f_o_r _a _m_n_e_m_o_n_i_c _t_o _b_e
                                 _u_n_d_e_r_l_i_n_e_d, _t_h_e _L_a_b_e_l _f_o_r _a
                                 _s_e_l_e_c_t_i_o_n _n_e_e_d_s _t_o _c_o_n_t_a_i_n _t_h_e
                                 _m_n_e_m_o_n_i_c _c_h_a_r_a_c_t_e_r.  _P_u_t_t_i_n_g _t_h_e
                                 _m_n_e_m_o_n_i_c _i_n _p_a_r_e_n_t_h_e_s_e_s _f_o_l_l_o_w_i_n_g
                                 _t_h_e _L_a_b_e_l _p_r_o_v_i_d_e_s _v_i_s_u_a_l
                                 _c_o_n_s_i_s_t_e_n_c_y.

             _ _ _11--77::            Your application does not use any
                                 predefined pointer shapes to
                                 symbolize functions that they are
                                 not designed to represent.  The
                                 _O_S_F/_M_o_t_i_f _S_t_y_l_e _G_u_i_d_e _R_e_v_i_s_i_o_n _1._2
                                 contains a list of the defined
                                 pointer shapes (Section 2.2.2).

                                 _T_h_e _s_h_a_p_e _o_f _t_h_e _p_o_i_n_t_e_r _p_r_o_v_i_d_e_s
                                 _t_h_e _u_s_e_r _w_i_t_h _a_n _i_m_p_o_r_t_a_n_t _v_i_s_u_a_l
                                 _c_u_e, _i_n_d_i_c_a_t_i_n_g _t_h_e _f_u_n_c_t_i_o_n_a_l_i_t_y
                                 _o_f _t_h_e _a_r_e_a _i_n _w_h_i_c_h _t_h_e _p_o_i_n_t_e_r _i_s
                                 _c_u_r_r_e_n_t_l_y _l_o_c_a_t_e_d.  _T_h_e _u_s_e _o_f _a
                                 _p_r_e_d_e_f_i_n_e_d _p_o_i_n_t_e_r _s_h_a_p_e _f_o_r _a
                                 _f_u_n_c_t_i_o_n _t_h_a_t _i_t _i_s _n_o_t _d_e_s_i_g_n_e_d _t_o
                                 _r_e_p_r_e_s_e_n_t _r_e_d_u_c_e_s _c_o_n_s_i_s_t_e_n_c_y
                                 _a_c_r_o_s_s _a_p_p_l_i_c_a_t_i_o_n_s.  _S_e_e _S_e_c_t_i_o_n
                                 _2._2._2 _o_f _t_h_e _O_S_F/_M_o_t_i_f _S_t_y_l_e _G_u_i_d_e
                                 _R_e_v_i_s_i_o_n _1._2 _f_o_r _a _l_i_s_t _o_f _d_e_f_i_n_e_d
                                 _p_o_i_n_t_e_r _s_h_a_p_e_s.

             _ _ _11--88::            Your application does not warp the
                                 pointer unless you have given the
                                 user a means of disabling the
                                 behavior (Section 2.2.3).

                                 _T_h_e _p_o_i_n_t_e_r _p_o_s_i_t_i_o_n _i_s _i_n_t_e_n_d_e_d
                                 _o_n_l_y _a_s _i_n_p_u_t _t_o _a_p_p_l_i_c_a_t_i_o_n_s, _n_o_t
                                 _a_s _a_n _o_u_t_p_u_t _m_e_c_h_a_n_i_s_m.  _W_h_e_n _a_n
                                 _a_p_p_l_i_c_a_t_i_o_n _c_h_a_n_g_e_s _t_h_e _p_o_s_i_t_i_o_n _o_f



        May 8, 1992                                              B-5








        OSF/Motif Style Guide


                                 _t_h_e _p_o_i_n_t_e_r, _i_t _i_s _k_n_o_w_n _a_s _w_a_r_p_i_n_g
                                 _t_h_e _p_o_i_n_t_e_r.  _T_h_i_s _p_r_a_c_t_i_c_e _i_s
                                 _c_o_n_f_u_s_i_n_g _t_o _u_s_e_r_s _a_n_d _r_e_d_u_c_e_s
                                 _t_h_e_i_r _s_e_n_s_e _o_f _c_o_n_t_r_o_l _o_v_e_r _a_n
                                 _a_p_p_l_i_c_a_t_i_o_n.  _W_a_r_p_i_n_g _t_h_e _p_o_i_n_t_e_r
                                 _c_a_n _a_l_s_o _c_a_u_s_e _p_r_o_b_l_e_m_s _f_o_r _u_s_e_r_s
                                 _o_f _a_b_s_o_l_u_t_e _l_o_c_a_t_i_o_n _p_o_i_n_t_i_n_g
                                 _d_e_v_i_c_e_s.

             NNoottee::  Your application is very likely to comply
                    with the next item on the Checklist if:

                       +o it is based on a Motif Toolkit with
                         Level Two validation,

                       +o it does not use any event handlers
                         to redirect keyboard or pointer
                         events,

                       +o it uses only widgets provided by OSF
                         in the OSF/Motif widget set, and

                       +o it uses the default widget
                         translations and the default
                         settings of the following widget
                         resources:

                            - XXmmNNaauuttooSShhoowwCCuurrssoorrPPoossiittiioonn

                            - XXmmNNccuurrssoorrPPoossiittiioonnVViissiibbllee

                            - XXmmNNhhiigghhlliigghhttTThhiicckknneessss

             _ _ _11--99::            When your application uses an
                                 explicit focus policy, the
                                 component with the keyboard focus
                                 is highlighted by a location cursor
                                 (Sections 2.1, 2.1.2).

                                 _A_n _e_x_p_l_i_c_i_t _f_o_c_u_s _p_o_l_i_c_y _r_e_q_u_i_r_e_s
                                 _t_h_e _u_s_e_r _t_o _e_x_p_l_i_c_i_t_l_y _s_e_l_e_c_t _w_h_i_c_h
                                 _w_i_n_d_o_w _r_e_c_e_i_v_e_s _t_h_e _k_e_y_b_o_a_r_d _f_o_c_u_s.
                                 _T_h_e _k_e_y_b_o_a_r_d _f_o_c_u_s _d_e_t_e_r_m_i_n_e_s _w_h_i_c_h
                                 _c_o_m_p_o_n_e_n_t _o_n _t_h_e _s_c_r_e_e_n _r_e_c_e_i_v_e_s
                                 _k_e_y_b_o_a_r_d _e_v_e_n_t_s.  _T_h_e _u_s_e_r _n_e_e_d_s _t_o
                                 _k_n_o_w _t_h_e _l_o_c_a_t_i_o_n _o_f _t_h_e _k_e_y_b_o_a_r_d
                                 _f_o_c_u_s _t_o _b_e _a_b_l_e _t_o _c_o_n_t_r_o_l _a_n
                                 _a_p_p_l_i_c_a_t_i_o_n.






        B-6                                              May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


        B.2  MMeennuu SSyysstteemm





        B.2.1  MMeennuuBBaarr



             YYeess NN//AA NNoo

             _ _ _22--11::            If your application has a MenuBar,
                                 it is a horizontal bar at the top
                                 edge of the application, just below
                                 the title area of the window frame,
                                 if present (Section 6.2.1.4).

                                 _A _M_e_n_u_B_a_r _o_r_g_a_n_i_z_e_s _t_h_e _m_o_s_t _c_o_m_m_o_n
                                 _f_e_a_t_u_r_e_s _o_f _a_n _a_p_p_l_i_c_a_t_i_o_n.  _I_t
                                 _c_o_n_t_a_i_n_s _a _l_i_s_t _o_f _M_e_n_u _t_o_p_i_c_s _i_n
                                 _C_a_s_c_a_d_e_B_u_t_t_o_n_s; _e_a_c_h _b_u_t_t_o_n _i_s
                                 _a_s_s_o_c_i_a_t_e_d _w_i_t_h _a _d_i_s_t_i_n_c_t _P_u_l_l_D_o_w_n
                                 _M_e_n_u _c_o_n_t_a_i_n_i_n_g _c_o_m_m_a_n_d_s _t_h_a_t _a_r_e
                                 _g_r_o_u_p_e_d _b_y _c_o_m_m_o_n _f_u_n_c_t_i_o_n_a_l_i_t_y.
                                 _T_h_e _u_s_e _o_f _a _M_e_n_u_B_a_r _y_i_e_l_d_s
                                 _c_o_n_s_i_s_t_e_n_c_y _a_c_r_o_s_s _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ _22--22::            The MenuBar for your application
                                 does not contain any topics that
                                 are commands (Section 6.2.1.4).

                                 _A _c_o_m_m_a_n_d _i_s _a _b_u_t_t_o_n _t_h_a_t
                                 _i_n_i_t_i_a_t_e_s _a _u_s_e_r _a_c_t_i_o_n.  _I_n _a
                                 _M_e_n_u_B_a_r, _a _c_o_m_m_a_n_d _w_o_u_l_d _s_t_a_r_t _a_n
                                 _a_c_t_i_o_n _i_n_s_t_e_a_d _o_f _p_u_l_l_i_n_g _d_o_w_n _a
                                 _M_e_n_u.  _W_h_e_n _c_o_m_m_a_n_d_s _a_r_e _i_n_c_l_u_d_e_d
                                 _a_s _t_o_p_i_c_s _i_n _a _M_e_n_u_B_a_r, _t_h_e_y
                                 _i_n_h_i_b_i_t _M_e_n_u _b_r_o_w_s_i_n_g.



        B.2.2  SSttaannddaarrdd PPuullllDDoowwnn MMeennuuss



             NNoottee::  These requirements only apply in a left-
                    to-right language direction environment
                    in an English locale.  You need to make
                    the appropriate changes for other
                    locales.



        May 8, 1992                                              B-7








        OSF/Motif Style Guide


        B.2.2.1  FFiillee MMeennuu



             YYeess NN//AA NNoo

             _ _ _22--33::            If your application includes a FFiillee
                                 Menu for performing actions on
                                 files, it is the first entry in the
                                 MenuBar, and it is placed to the
                                 far left (Section 6.2.1.4).

                                 _T_h_e _l_o_c_a_t_i_o_n _o_f _t_h_e _F_i_l_e _M_e_n_u _o_n
                                 _t_h_e _M_e_n_u_B_a_r _e_n_s_u_r_e_s
                                 _i_n_t_e_r_a_p_p_l_i_c_a_t_i_o_n _c_o_n_s_i_s_t_e_n_c_y.

                  22--44::           If your application uses a FFiillee
                                 Menu, it contains the following
                                 choices, with the specified
                                 functionality, when the actions are
                                 actually supported by your
                                 application (Section 6.2.1.4.1).

             _ _ _   _New                       Creates a new file.
                                               If the current client
                                               area will be used to
                                               display the new file,
                                               your application
                                               clears the existing
                                               data from the client
                                               area.  If changes
                                               made to the current
                                               file will be lost,
                                               your application
                                               displays a DialogBox,
                                               asking the user about
                                               saving changes.  Has
                                               the mnemonic N.

             _ _ _   _Open...                   Opens an existing
                                               file by prompting the
                                               user for a filename
                                               with a DialogBox.  If
                                               changes made to the
                                               current file will be
                                               lost, your
                                               application displays
                                               a DialogBox asking
                                               the user about saving
                                               changes.  Has the
                                               mnemonic O.



        B-8                                              May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


             _ _ _   _Save                      Saves the currently
                                               opened file without
                                               removing the existing
                                               contents of the
                                               client area.  If the
                                               file has no name,
                                               your application
                                               displays a DialogBox,
                                               prompting the user to
                                               enter a filename.
                                               Has the mnemonic S.

             _ _ _   Save _As...                Saves the currently
                                               opened file under a
                                               new name by prompting
                                               the user for a
                                               filename with a
                                               DialogBox.  If the
                                               user tries to save
                                               the file using an
                                               existing name, your
                                               application displays
                                               a DialogBox that
                                               warns the user about
                                               a possible loss of
                                               data.  Does not
                                               remove the existing
                                               contents of the
                                               client area.  Has the
                                               mnemonic A.

             _ _ _   _Print                     Schedules a file for
                                               printing.  If your
                                               application needs
                                               specific information
                                               in order to print, it
                                               displays a DialogBox,
                                               requesting the
                                               information from the
                                               user.  In this case
                                               the Menu entry is
                                               followed by an
                                               ellipsis
                                               ("Print...").  Has
                                               the mnemonic P.

             _ _ _   _Close                     Closes the current
                                               primary window and
                                               its associated
                                               secondary windows.
                                               If your application



        May 8, 1992                                              B-9








        OSF/Motif Style Guide


                                               uses only a single
                                               primary window or
                                               multiple dependent
                                               primary windows, this
                                               action is not
                                               supplied.  Has the
                                               mnemonic C.

             _ _ _   _Exit                      Ends the current
                                               application and all
                                               windows associated
                                               with it.  If changes
                                               made to the current
                                               file will be lost,
                                               your application
                                               displays a DialogBox,
                                               asking the user about
                                               saving changes.  Has
                                               the mnemonic E.

                                 _T_h_e _u_s_e _o_f _a _F_i_l_e _M_e_n_u _w_i_t_h _t_h_e_s_e
                                 _c_o_m_m_o_n _f_i_l_e _o_p_e_r_a_t_i_o_n_s _y_i_e_l_d_s
                                 _c_o_n_s_i_s_t_e_n_c_y _a_c_r_o_s_s _a_p_p_l_i_c_a_t_i_o_n_s.



        B.2.2.2  EEddiitt MMeennuu



             YYeess NN//AA NNoo

             _ _ _22--55::            If your application includes an
                                 EEddiitt Menu for performing actions on
                                 the current data of the
                                 application, it is placed to the
                                 right of the FFiillee Menu on the
                                 MenuBar (Section 6.2.1.4).

                                 _T_h_e _r_e_l_a_t_i_v_e _l_o_c_a_t_i_o_n _o_f _t_h_e _E_d_i_t
                                 _M_e_n_u _o_n _t_h_e _M_e_n_u_B_a_r _r_e_s_u_l_t_s _i_n
                                 _i_n_t_e_r_a_p_p_l_i_c_a_t_i_o_n _c_o_n_s_i_s_t_e_n_c_y.

                  22--66::           If your application uses an EEddiitt
                                 Menu, it contains the following
                                 choices, with the specified
                                 functionality, when the actions are
                                 actually supported by your
                                 application (Section 6.2.1.4.2):





        B-10                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


             _ _ _   _Undo                      Reverses the most
                                               recently executed
                                               action.  Has the
                                               mnemonic U.  If it
                                               has an accelerator,
                                               it is <<AAlltt>>
                                               <<BBaacckkSSppaaccee>> and it
                                               overrides the
                                               standard undo action
                                               for a specific
                                               component.

             _ _ _   Cu_t                       Removes the selected
                                               portion of data from
                                               the client area and
                                               puts it in the
                                               clipboard buffer.
                                               Has the mnemonic T.
                                               If it has an
                                               accelerator, it
                                               overrides the
                                               standard cut action
                                               for a specific
                                               component.

             _ _ _   _Copy                      Copies the selected
                                               portion of data from
                                               the client ares and
                                               puts it in the
                                               clipboard buffer.
                                               Has the mnemonic C.
                                               If it has an
                                               accelerator, it
                                               overrides the
                                               standard copy action
                                               for a specific
                                               component.

             _ _ _   _Paste                     Pastes the contents
                                               of the clipboard
                                               buffer into the
                                               client area.  Has the
                                               mnemonic P.  If it
                                               has an accelerator,
                                               it overrides the
                                               standard paste action
                                               for a specific
                                               component.

             _ _ _   Cl_ear                     Removes a selected
                                               portion of data from



        May 8, 1992                                             B-11








        OSF/Motif Style Guide


                                               the client area
                                               without copying it to
                                               a clipboard buffer
                                               and does not compress
                                               the remaining data.
                                               Has the mnemonic E.

             _ _ _   _Delete                    Removes a selected
                                               portion of data from
                                               the client area
                                               without copying it to
                                               a clipboard buffer
                                               and compresses the
                                               remaining data.  Has
                                               the mnemonic D.

             _ _ _   Select All                Adds all of the
                                               elements in the
                                               collection with the
                                               location cursor to
                                               the primary
                                               selection.

             _ _ _   Select Pasted             Sets the primary
                                               selection to the last
                                               element or elements
                                               pasted into the
                                               collection with the
                                               location cursor.

             _ _ _   Reselect                  Sets the primary
                                               selection to the last
                                               selected element or
                                               elements in the
                                               component with the
                                               location cursor.
                                               This action is only
                                               available for
                                               components that do
                                               not support
                                               persistent
                                               selections.

             _ _ _   Promote Selection
                                               Promotes the current
                                               selection of the
                                               collection with the
                                               location cursor to
                                               the primary
                                               selection.  This
                                               action is only



        B-12                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                                               available for
                                               components that
                                               support persistent
                                               selections.

                                 _T_h_e _u_s_e _o_f _a_n _E_d_i_t _M_e_n_u _w_i_t_h _t_h_e_s_e
                                 _c_o_m_m_o_n _e_d_i_t_i_n_g _o_p_e_r_a_t_i_o_n_s _y_i_e_l_d_s
                                 _c_o_n_s_i_s_t_e_n_c_y _a_c_r_o_s_s _a_p_p_l_i_c_a_t_i_o_n_s.



        B.2.2.3  VViieeww MMeennuu



             YYeess NN//AA NNoo

             _ _ _22--77::            If your application includes a VViieeww
                                 Menu for changing the user's view
                                 of the data, it is placed to the
                                 right of the EEddiitt Menu on the
                                 MenuBar (Section 6.2.1.4).

                                 _T_h_e _r_e_l_a_t_i_v_e _l_o_c_a_t_i_o_n _o_f _t_h_e _V_i_e_w
                                 _M_e_n_u _o_n _t_h_e _M_e_n_u_B_a_r _r_e_s_u_l_t_s _i_n
                                 _i_n_t_e_r_a_p_p_l_i_c_a_t_i_o_n _c_o_n_s_i_s_t_e_n_c_y.
                                 _A_c_t_i_o_n_s _i_n _a _V_i_e_w _M_e_n_u _t_y_p_i_c_a_l_l_y
                                 _c_h_a_n_g_e _h_o_w _d_a_t_a _i_s _v_i_e_w_e_d; _t_h_e
                                 _c_o_n_t_e_n_t_s _o_f _t_h_e _M_e_n_u _a_r_e
                                 _a_p_p_l_i_c_a_t_i_o_n _s_p_e_c_i_f_i_c.



        B.2.2.4  OOppttiioonnss MMeennuu



             YYeess NN//AA NNoo

             _ _ _22--88::            If your application includes an
                                 OOppttiioonnss Menu that allows the user
                                 to customize the application, it is
                                 placed to the right of the VViieeww
                                 Menu on the MenuBar (Section
                                 6.2.1.4).

                                 _T_h_e _r_e_l_a_t_i_v_e _l_o_c_a_t_i_o_n _o_f _t_h_e
                                 _O_p_t_i_o_n_s _M_e_n_u _o_n _t_h_e _M_e_n_u_B_a_r _e_n_s_u_r_e_s
                                 _c_o_n_s_i_s_t_e_n_c_y _a_c_r_o_s_s _a_p_p_l_i_c_a_t_i_o_n_s.
                                 _A_c_t_i_o_n_s _i_n _a_n _O_p_t_i_o_n_s _M_e_n_u
                                 _t_y_p_i_c_a_l_l_y _a_l_l_o_w _u_s_e_r_s _t_o _c_u_s_t_o_m_i_z_e



        May 8, 1992                                             B-13








        OSF/Motif Style Guide


                                 _a_n _a_p_p_l_i_c_a_t_i_o_n; _t_h_e _c_o_n_t_e_n_t_s _o_f _a_n
                                 _O_p_t_i_o_n_s _M_e_n_u _a_r_e _a_p_p_l_i_c_a_t_i_o_n
                                 _s_p_e_c_i_f_i_c.



        B.2.2.5  HHeellpp MMeennuu



             YYeess NN//AA NNoo

             _ _ _22--99::            If your application includes a HHeellpp
                                 Menu that provides user help
                                 facilities, it is the last Menu
                                 item, and it is placed to the far
                                 right on the MenuBar (Section
                                 6.2.1.4).

                                 _T_h_e _l_o_c_a_t_i_o_n _o_f _t_h_e _H_e_l_p _M_e_n_u _o_n
                                 _t_h_e _M_e_n_u_B_a_r _r_e_s_u_l_t_s _i_n _c_o_n_s_i_s_t_e_n_c_y
                                 _a_c_r_o_s_s _a_p_p_l_i_c_a_t_i_o_n_s.

                 22--1100::           If your application uses a HHeellpp
                                 Menu, it contains either of the
                                 following two sets of choices, with
                                 the specified functionality, when
                                 the actions are actually supported
                                 by your application (Section
                                 6.2.1.4.3):

             _ _ _   On C_ontext                Initiates context-
                                               sensitive help by
                                               changing the shape of
                                               the pointer to the
                                               question pointer.
                                               (See Section 2.2.2 of
                                               the _O_S_F/_M_o_t_i_f _S_t_y_l_e
                                               _G_u_i_d_e Revision 1.2.)
                                               When the user moves
                                               the pointer to a
                                               component and presses
                                               BBSSeelleecctt, any
                                               available context-
                                               sensitive help for
                                               the component is
                                               presented and the
                                               pointer returns to
                                               its original shape.
                                               Has the mnemonic C.




        B-14                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


             _ _ _   On H_elp                   Provides information
                                               on how to use your
                                               application's help
                                               facility.  Has the
                                               mnemonic H.

             _ _ _   On W_indow                 Provides general
                                               information about the
                                               window from which
                                               help was requested.
                                               Has the mnemonic W.

             _ _ _   On K_eys                   Provides information
                                               about your
                                               application's use of
                                               function keys,
                                               mnemonics, and
                                               keyboard
                                               accelerators.  Has
                                               the mnemonic K.

             _ _ _   I_ndex                     Provides an index for
                                               all help information
                                               in your application.
                                               Has the mnemonic I.

             _ _ _   T_utorial                  Provides access to
                                               your application's
                                               tutorial.  Has the
                                               mnemonic T.

             _ _ _   On V_ersion                Provides at least the
                                               name and version of
                                               your application.
                                               Has the mnemonic V.
                                 If your application uses a HHeellpp
                                 Menu, and it does not use the
                                 previous set of choices, the HHeellpp
                                 Menu contains the following
                                 choices, with the specified
                                 functionality, when the actions are
                                 actually supported by your
                                 application (Section 6.2.1.4.3):

             _ _ _   C_ontext-Sensitive Help
                                               Initiates context-
                                               sensitive help by
                                               changing the shape of
                                               the pointer to the
                                               question pointer.
                                               (See Section 2.2.2 of



        May 8, 1992                                             B-15








        OSF/Motif Style Guide


                                               the _O_S_F/_M_o_t_i_f _S_t_y_l_e
                                               _G_u_i_d_e Revision 1.2.)
                                               When the user moves
                                               the pointer to a
                                               component and presses
                                               BBSSeelleecctt, any
                                               available context-
                                               sensitive help for
                                               the component is
                                               presented and the
                                               pointer returns to
                                               its original shape.
                                               Has the mnemonic C.

             _ _ _   O_verview                  Provides general
                                               information about the
                                               application window
                                               from which help was
                                               requested.  Has the
                                               mnemonic O.

             _ _ _   I_ndex                     Provides an index for
                                               all help information
                                               in your application.
                                               Has the mnemonic I.

             _ _ _   K_eyboard                  Provides information
                                               about your
                                               application's use of
                                               function keys,
                                               mnemonics, and
                                               keyboard
                                               accelerators.  Has
                                               the mnemonic K.

             _ _ _   T_utorial                  Provides access to
                                               your application's
                                               tutorial.  Has the
                                               mnemonic T.

             _ _ _   Using H_elp                Provides information
                                               on how to use your
                                               application's help
                                               facility.  Has the
                                               mnemonic H.

             _ _ _   P_roduct Information
                                               Provides at least the
                                               name and version of
                                               your application.
                                               Has the mnemonic P.



        B-16                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                                 _T_h_e _u_s_e _o_f _a _H_e_l_p _M_e_n_u _w_i_t_h _t_h_e_s_e
                                 _c_o_m_m_o_n _h_e_l_p _o_p_e_r_a_t_i_o_n_s _y_i_e_l_d_s
                                 _c_o_n_s_i_s_t_e_n_c_y _a_c_r_o_s_s _a_p_p_l_i_c_a_t_i_o_n_s.



        B.2.3  PPooppuupp MMeennuuss



             NNoottee::  These requirements only apply in a left-
                    to-right language direction environment
                    in an English locale.  You need to make
                    the appropriate changes for other
                    locales.

                    YYeess NN//AA NNoo

                        22--1111::           If your application
                                        uses any of the
                                        common Popup Menu
                                        actions, the actions
                                        function according to
                                        the following
                                        specifications
                                        (Section 6.2.1.6):

                    _ _ _   Select All                Adds
                                                      all of
                                                      the
                                                      elements
                                                      in the
                                                      collection
                                                      with
                                                      the
                                                      Popup
                                                      Menu to
                                                      the
                                                      primary
                                                      selection.

                    _ _ _   Select Pasted             Sets
                                                      the
                                                      primary
                                                      selection
                                                      to be
                                                      the
                                                      last
                                                      element
                                                      or
                                                      elements



        May 8, 1992                                             B-17








        OSF/Motif Style Guide


                                                      pasted
                                                      into
                                                      the
                                                      collection.

                    _ _ _   Primary Copy              Copies
                                                      the
                                                      contents
                                                      of the
                                                      primary
                                                      selection
                                                      to the
                                                      component.
                                                      If the
                                                      context
                                                      of the
                                                      Menu is
                                                      within
                                                      the
                                                      component's
                                                      current
                                                      selection,
                                                      the
                                                      contents
                                                      of the
                                                      selection
                                                      are
                                                      replaced
                                                      with
                                                      the
                                                      contents
                                                      of the
                                                      primary
                                                      selection.
                                                      If the
                                                      context
                                                      of the
                                                      Menu is
                                                      outside
                                                      of the
                                                      component's
                                                      current
                                                      selection
                                                      or if
                                                      there
                                                      is no
                                                      current
                                                      selection,
                                                      the
                                                      contents
                                                      of the



        B-18                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                                                      primary
                                                      selection
                                                      are
                                                      placed
                                                      at the
                                                      location
                                                      of the
                                                      cursor.
                                                      This
                                                      action
                                                      is only
                                                      available
                                                      in
                                                      editable
                                                      components.

                    _ _ _   Primary Move              Moves
                                                      the
                                                      contents
                                                      of the
                                                      primary
                                                      selection
                                                      to the
                                                      component.
                                                      If the
                                                      context
                                                      of the
                                                      Menu is
                                                      within
                                                      the
                                                      component's
                                                      current
                                                      selection,
                                                      the
                                                      contents
                                                      of the
                                                      selection
                                                      are
                                                      replaced
                                                      with
                                                      the
                                                      contents
                                                      of the
                                                      primary
                                                      selection.
                                                      If the
                                                      context
                                                      of the
                                                      Menu is
                                                      outside
                                                      of the



        May 8, 1992                                             B-19








        OSF/Motif Style Guide


                                                      component's
                                                      current
                                                      selection
                                                      or if
                                                      there
                                                      is no
                                                      current
                                                      selection,
                                                      the
                                                      contents
                                                      of the
                                                      primary
                                                      selection
                                                      are
                                                      placed
                                                      at the
                                                      location
                                                      of the
                                                      cursor.
                                                      This
                                                      action
                                                      is only
                                                      available
                                                      in
                                                      editable
                                                      components.

                    _ _ _   Reselect                  Reselects
                                                      the
                                                      last
                                                      selected
                                                      element
                                                      or
                                                      elements
                                                      in the
                                                      component
                                                      to the
                                                      primary
                                                      selection.
                                                      This
                                                      action
                                                      is only
                                                      available
                                                      in
                                                      components
                                                      that do
                                                      not
                                                      support
                                                      persistent
                                                      selections.




        B-20                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                    _ _ _   Promote                   Promotes
                                                      the
                                                      selection
                                                      to the
                                                      primary
                                                      selection.
                                                      This
                                                      action
                                                      is only
                                                      available
                                                      when
                                                      the
                                                      Popup
                                                      Menu is
                                                      in the
                                                      context
                                                      of a
                                                      selection.
                                                      It is
                                                      only
                                                      available
                                                      in
                                                      components
                                                      that
                                                      support
                                                      persistent
                                                      selections.

                    _ _ _   Promote Selection
                                                      Promotes
                                                      the
                                                      current
                                                      selection
                                                      of the
                                                      collection
                                                      to the
                                                      primary
                                                      selection.
                                                      This
                                                      action
                                                      is only
                                                      available
                                                      when
                                                      the
                                                      Popup
                                                      Menu is
                                                      not in
                                                      the
                                                      context
                                                      of a
                                                      selection.



        May 8, 1992                                             B-21








        OSF/Motif Style Guide


                                                      It is
                                                      only
                                                      available
                                                      in
                                                      components
                                                      that
                                                      support
                                                      persistent
                                                      selections.

                    _ _ _   Properties                Displays
                                                      a
                                                      properties
                                                      DialogBox
                                                      that
                                                      the
                                                      user
                                                      can use
                                                      to set
                                                      the
                                                      properties
                                                      of the
                                                      component.

                    _ _ _   Paste                     Pastes
                                                      the
                                                      contents
                                                      of the
                                                      clipboard
                                                      to the
                                                      component.
                                                      If the
                                                      context
                                                      of the
                                                      Menu is
                                                      within
                                                      the
                                                      component's
                                                      current
                                                      selection,
                                                      the
                                                      contents
                                                      of the
                                                      selection
                                                      are
                                                      replaced
                                                      with
                                                      the
                                                      contents
                                                      of the
                                                      clipboard.



        B-22                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                                                      If the
                                                      context
                                                      of the
                                                      Menu is
                                                      outside
                                                      of the
                                                      component's
                                                      current
                                                      selection
                                                      or if
                                                      there
                                                      is no
                                                      current
                                                      selection,
                                                      the
                                                      contents
                                                      of the
                                                      clipboard
                                                      are
                                                      placed
                                                      at the
                                                      location
                                                      of the
                                                      cursor.
                                                      This
                                                      action
                                                      is only
                                                      available
                                                      in
                                                      editable
                                                      components.

                    _ _ _   Copy                      Copies
                                                      the
                                                      selection
                                                      to the
                                                      clipboard.
                                                      This
                                                      action
                                                      is only
                                                      available
                                                      when
                                                      the
                                                      Popup
                                                      Menu is
                                                      in the
                                                      context
                                                      of a
                                                      selection.





        May 8, 1992                                             B-23








        OSF/Motif Style Guide


                    _ _ _   Cut                       Cuts
                                                      the
                                                      selection
                                                      to the
                                                      clipboard.
                                                      This
                                                      action
                                                      is only
                                                      available
                                                      when
                                                      the
                                                      Popup
                                                      Menu is
                                                      in the
                                                      context
                                                      of a
                                                      selection.

                    _ _ _   Copy Selection            Copies
                                                      the
                                                      current
                                                      selection
                                                      in the
                                                      component
                                                      to the
                                                      clipboard.
                                                      This
                                                      action
                                                      is only
                                                      available
                                                      when
                                                      the
                                                      Popup
                                                      Menu is
                                                      not in
                                                      the
                                                      context
                                                      of a
                                                      selection.

                    _ _ _   Cut Selection             Cuts
                                                      the
                                                      current
                                                      selection
                                                      in the
                                                      component
                                                      to the
                                                      clipboard.
                                                      This
                                                      action
                                                      is only



        B-24                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                                                      available
                                                      when
                                                      the
                                                      Popup
                                                      Menu is
                                                      not in
                                                      the
                                                      context
                                                      of a
                                                      selection.

                                        _T_h_e _u_s_e _o_f _P_o_p_u_p
                                        _M_e_n_u_s _w_i_t_h _t_h_e_s_e
                                        _c_o_m_m_o_n _a_c_t_i_o_n_s _y_i_e_l_d_s
                                        _c_o_n_s_i_s_t_e_n_c_y _a_c_r_o_s_s
                                        _a_p_p_l_i_c_a_t_i_o_n_s.

                    _ _ 22_--1122::            When a Popup Menu is
                                        popped up over an
                                        unselected element,
                                        any action that acts
                                        on elements acts on
                                        that element alone
                                        (Section 6.2.1.6).

                                        _P_o_p_u_p _M_e_n_u_s _a_r_e
                                        _c_o_n_t_e_x_t-_s_e_n_s_i_t_i_v_e _a_n_d
                                        _i_n _t_h_i_s _c_a_s_e _t_h_e
                                        _c_o_n_t_e_x_t _o_f _t_h_e _M_e_n_u
                                        _i_s _t_h_e _u_n_s_e_l_e_c_t_e_d
                                        _e_l_e_m_e_n_t.

                    _ _ 22_--1133::            When a Popup Menu is
                                        popped up in the
                                        context of a
                                        selection, any action
                                        that acts on elements
                                        acts on the entire
                                        selection (Section
                                        6.2.1.6).

                                        _I_n _t_h_e _c_o_n_t_e_x_t _o_f _a
                                        _s_e_l_e_c_t_i_o_n, _P_o_p_u_p _M_e_n_u
                                        _a_c_t_i_o_n_s _a_f_f_e_c_t _t_h_e
                                        _e_n_t_i_r_e _s_e_l_e_c_t_i_o_n.

                    _ _ 22_--1144::            When a Popup Menu is
                                        popped in the context
                                        of a selection, any
                                        entry that can either
                                        apply to the



        May 8, 1992                                             B-25








        OSF/Motif Style Guide


                                        selection or the
                                        whole collection
                                        refers to the
                                        selection alone
                                        (Section 6.2.1.6).

                                        _T_h_i_s _g_u_i_d_e_l_i_n_e
                                        _e_n_s_u_r_e_s _t_h_e
                                        _c_o_n_s_i_s_t_e_n_t _o_p_e_r_a_t_i_o_n
                                        _o_f _P_o_p_u_p _M_e_n_u _a_c_t_i_o_n_s
                                        _i_n _t_h_e _c_o_n_t_e_x_t _o_f _a
                                        _s_e_l_e_c_t_i_o_n.

                    _ _ 22_--1155::            When a Popup Menu is
                                        popped up out of the
                                        context of a
                                        selection, any entry
                                        that can either apply
                                        to the selection or
                                        the whole collection
                                        refers to the
                                        collection as a whole
                                        (Section 6.2.1.6).

                                        _T_h_i_s _g_u_i_d_e_l_i_n_e
                                        _p_r_o_v_i_d_e_s _f_o_r _t_h_e
                                        _c_o_n_s_i_s_t_e_n_t _o_p_e_r_a_t_i_o_n
                                        _o_f _P_o_p_u_p _M_e_n_u _a_c_t_i_o_n_s
                                        _o_u_t _o_f _t_h_e _c_o_n_t_e_x_t _o_f
                                        _a _s_e_l_e_c_t_i_o_n.



        B.2.4  MMeennuu DDeessiiggnn



             YYeess NN//AA NNoo

             _ _ 22_--1166::            If your application uses any
                                 2-dimensional Menus, they do
                                 not contain any
                                 CascadeButtons (Section
                                 3.3).

                                 _C_a_s_c_a_d_e_B_u_t_t_o_n_s _i_n _a _2-
                                 _d_i_m_e_n_s_i_o_n_a_l _M_e_n_u _w_o_u_l_d
                                 _r_e_s_t_r_i_c_t _t_h_e _u_s_e_r'_s _a_b_i_l_i_t_y
                                 _t_o _n_a_v_i_g_a_t_e _t_o _a_l_l _o_f _t_h_e
                                 _e_l_e_m_e_n_t_s _o_f _t_h_e _M_e_n_u _u_s_i_n_g
                                 _t_h_e _k_e_y_b_o_a_r_d.



        B-26                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


             _ _ 22_--1177::            If your application uses a
                                 TearoffButton in a Menu, the
                                 TearoffButton is the first
                                 element in the Menu (Section
                                 6.2.3).

                                 _W_h_e_n _a _T_e_a_r_o_f_f_B_u_t_t_o_n _i_s
                                 _a_c_t_i_v_a_t_e_d, _t_h_e _M_e_n_u _c_h_a_n_g_e_s
                                 _i_n_t_o _a _D_i_a_l_o_g_B_o_x.  _T_h_e
                                 _T_e_a_r_o_f_f_B_u_t_t_o_n _n_e_e_d_s _t_o _b_e
                                 _t_h_e _f_i_r_s_t _i_t_e_m _i_n _t_h_e _M_e_n_u
                                 _s_o _t_h_a_t _t_h_e _e_n_t_i_r_e _c_o_n_t_e_n_t_s
                                 _o_f _t_h_e _M_e_n_u _a_r_e _t_o_r_n _o_f_f.

             _ _ 22_--1188::            Your application does not
                                 use TearoffButtons in Menus
                                 whose contents can change
                                 while the Menu is torn off
                                 (Section 6.2.3.7).

                                 _U_s_i_n_g _T_e_a_r_o_f_f_B_u_t_t_o_n_s _i_n
                                 _M_e_n_u_s _w_h_o_s_e _c_o_n_t_e_n_t_s _c_a_n
                                 _c_h_a_n_g_e _r_e_s_u_l_t_s _i_n _a_n
                                 _i_n_c_o_n_s_i_s_t_e_n_t _i_n_t_e_r_f_a_c_e.


             NNoottee::  Your application is very likely to
                    comply with the next item on the
                    Checklist if:

                       +o it is based on a Motif
                         Toolkit with Level Two
                         validation,

                       +o it does not use any event
                         handlers to redirect keyboard
                         or pointer events,

                       +o it uses only widgets provided
                         by OSF in the OSF/Motif
                         widget set, and

                       +o it uses the default widget
                         translations and the default
                         settings of the following
                         widget resources:

                            - XXmmNNrreeccoommppuutteeSSiizzee

                            - XXmmNNrreessiizzeeWWiiddtthh




        May 8, 1992                                             B-27








        OSF/Motif Style Guide


             _ _ 22_--1199::            All Menus are wide enough to
                                 accommodate their widest
                                 elements (Section 6.2.3).

                                 _T_h_e _a_b_i_l_i_t_y _t_o _s_e_e _t_h_e _f_u_l_l
                                 _L_a_b_e_l _o_f _e_a_c_h _M_e_n_u _e_l_e_m_e_n_t
                                 _a_l_l_o_w_s _t_h_e _u_s_e_r _t_o _b_r_o_w_s_e
                                 _t_h_r_o_u_g_h _a _M_e_n_u.



        B.2.5  MMeennuu NNaavviiggaattiioonn






        B.2.5.1  MMoouussee--BBaasseedd NNaavviiggaattiioonn



             YYeess NN//AA NNoo

             _ _ 22_--2200::            When the pointer is in an
                                 element with an inactive
                                 Popup Menu and the context
                                 of the element allows the
                                 Popup Menu to be displayed,
                                 your application uses BBMMeennuu
                                 PPrreessss to activate the Popup
                                 Menu in a spring-loaded
                                 manner (Section 3.1).

                                 _A _s_p_r_i_n_g-_l_o_a_d_e_d _M_e_n_u _i_s _o_n_e
                                 _t_h_a_t _a_p_p_e_a_r_s _w_h_e_n _t_h_e _u_s_e_r
                                 _p_r_e_s_s_e_s _a _m_o_u_s_e _b_u_t_t_o_n,
                                 _r_e_m_a_i_n_s _o_n _t_h_e _s_c_r_e_e_n _f_o_r _a_s
                                 _l_o_n_g _a_s _t_h_e _b_u_t_t_o_n _i_s
                                 _p_r_e_s_s_e_d, _a_n_d _d_i_s_a_p_p_e_a_r_s _w_h_e_n
                                 _t_h_e _u_s_e_r _r_e_l_e_a_s_e_s _t_h_e
                                 _b_u_t_t_o_n.  _T_h_e _a_v_a_i_l_a_b_i_l_i_t_y _o_f
                                 _a _P_o_p_u_p _M_e_n_u _c_a_n _d_e_p_e_n_d _o_n
                                 _t_h_e _l_o_c_a_t_i_o_n _o_f _t_h_e _p_o_i_n_t_e_r
                                 _w_i_t_h_i_n _a_n _e_l_e_m_e_n_t, _t_h_e
                                 _c_o_n_t_e_n_t_s _o_f _a_n _e_l_e_m_e_n_t, _o_r
                                 _t_h_e _s_e_l_e_c_t_i_o_n _s_t_a_t_e _o_f _a_n
                                 _e_l_e_m_e_n_t.  BBMMeennuu, _t_h_e _t_h_i_r_d
                                 _m_o_u_s_e _b_u_t_t_o_n, _p_r_o_v_i_d_e_s _a
                                 _c_o_n_s_i_s_t_e_n_t _m_e_a_n_s _o_f
                                 _a_c_t_i_v_a_t_i_n_g _a _s_p_r_i_n_g-_l_o_a_d_e_d



        B-28                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                                 _P_o_p_u_p _M_e_n_u.

             _ _ 22_--2211::            If a Popup Menu is available
                                 for both an element and an
                                 element contained within the
                                 outer element, the Popup
                                 Menu for the internal
                                 element is posted (Section
                                 3.1).

                                 _T_h_i_s _s_p_e_c_i_f_i_c_a_t_i_o_n _e_n_s_u_r_e_s
                                 _t_h_a_t _t_h_e _P_o_p_u_p _M_e_n_u _o_n _a_n
                                 _i_n_t_e_r_n_a_l _e_l_e_m_e_n_t _i_s _a_l_w_a_y_s
                                 _a_c_c_e_s_s_i_b_l_e.


             NNoottee::  Your application is very likely to
                    comply with the rest of the MMeennuu
                    NNaavviiggaattiioonn section of the
                    Checklist if:

                       +o it is based on a Motif
                         Toolkit with Level Two
                         validation,

                       +o it does not use any event
                         handlers to redirect keyboard
                         or pointer events,

                       +o it does not use
                         XXmmPPrroocceessssTTrraavveerrssaall,

                       +o it uses only widgets provided
                         by OSF in the OSF/Motif
                         widget set, and

                       +o it uses the default widget
                         translations and the default
                         settings of the following
                         widget resources:

                            - XXmmNNeennttrryyCCllaassss

                            - XXmmNNiissHHoommooggeenneeoouuss

                            - XXmmNNmmeennuuAAcccceelleerraattoorr

                            - XXmmNNmmeennuuHHiissttoorryy

                            - XXmmNNmmeennuuPPoosstt




        May 8, 1992                                             B-29








        OSF/Motif Style Guide


                            - XXmmNNppooppuuppEEnnaabblleedd

                            - XXmmNNrroowwCCoolluummnnTTyyppee

                            - XXmmNNttrraannssllaattiioonnss


             _ _ 22_--2222::            When the pointer is on a
                                 Menu, your application uses
                                 BBSSeelleecctt PPrreessss to activate
                                 the Menu in a spring-loaded
                                 manner (Section 3.1).

                                 BBSSeelleecctt, _t_h_e _f_i_r_s_t _m_o_u_s_e
                                 _b_u_t_t_o_n, _p_r_o_v_i_d_e_s _a _m_e_a_n_s _o_f
                                 _a_c_t_i_v_a_t_i_n_g _s_p_r_i_n_g-_l_o_a_d_e_d
                                 _M_e_n_u_s _t_h_a_t _i_s _c_o_n_s_i_s_t_e_n_t
                                 _a_c_r_o_s_s _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ 22_--2233::            Once a Popup Menu is posted,
                                 BBMMeennuu behaves just as
                                 BBSSeelleecctt does for any Menu
                                 system (Section 3.1).

                                 _T_h_e _s_p_e_c_i_f_i_e_d _o_p_e_r_a_t_i_o_n _o_f
                                 BBMMeennuu _i_s _f_o_r _m_a_n_i_p_u_l_a_t_i_n_g
                                 _P_o_p_u_p _M_e_n_u_s.

             _ _ 22_--2244::            BBSSeelleecctt is also available
                                 from within posted Popup
                                 Menus and behaves just as in
                                 any Menu system (Section
                                 3.1).

                                 _O_n_c_e _a _P_o_p_u_p _M_e_n_u _i_s _p_o_s_t_e_d,
                                 _t_h_e _u_s_e_r _c_a_n _s_e_l_e_c_t _a_n
                                 _e_l_e_m_e_n_t _f_r_o_m _i_t _u_s_i_n_g _t_h_e
                                 _s_t_a_n_d_a_r_d _s_e_l_e_c_t_i_o_n
                                 _m_e_c_h_a_n_i_s_m, BBSSeelleecctt.

             _ _ 22_--2255::            BBSSeelleecctt RReelleeaassee within a
                                 spring-loaded Menu system
                                 activates the button under
                                 the pointer at the time of
                                 the release (Section 3.1).

                                 BBSSeelleecctt RReelleeaassee _p_r_o_v_i_d_e_s _a
                                 _c_o_n_s_i_s_t_e_n_t _m_e_a_n_s _o_f
                                 _a_c_t_i_v_a_t_i_n_g _a_n _e_l_e_m_e_n_t _o_f _a
                                 _s_p_r_i_n_g-_l_o_a_d_e_d _M_e_n_u.  _I_f _t_h_e
                                 _e_l_e_m_e_n_t _i_s _a_n_y _b_u_t_t_o_n _o_t_h_e_r



        B-30                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                                 _t_h_a_n _a _C_a_s_c_a_d_e_B_u_t_t_o_n, _t_h_e
                                 _a_c_t_i_o_n _o_f _t_h_e _b_u_t_t_o_n _n_e_e_d_s
                                 _t_o _b_e _p_e_r_f_o_r_m_e_d.

             _ _ 22_--2266::            If BBSSeelleecctt RReelleeaassee occurs on
                                 a CascadeButton, the
                                 associated Cascade Menu is
                                 displayed (Section 3.1).

                                 BBSSeelleecctt RReelleeaassee _o_v_e_r _a_n
                                 _e_l_e_m_e_n_t _i_n _a _s_p_r_i_n_g-_l_o_a_d_e_d
                                 _M_e_n_u _a_c_t_i_v_a_t_e_s _t_h_e _e_l_e_m_e_n_t.
                                 _W_h_e_n _t_h_e _e_l_e_m_e_n_t _i_s _a
                                 _C_a_s_c_a_d_e_B_u_t_t_o_n, _t_h_e
                                 _a_s_s_o_c_i_a_t_e_d _M_e_n_u _n_e_e_d_s _t_o _b_e
                                 _p_o_s_t_e_d.

             _ _ 22_--2277::            When a Menu is popped up or
                                 pulled down in a posted
                                 manner, your application
                                 places the location cursor
                                 on the Menu's default entry,
                                 or on the first entry in the
                                 Menu if there is no default
                                 entry (Section 3.1).

                                 _A _p_o_s_t_e_d _M_e_n_u _r_e_m_a_i_n_s
                                 _v_i_s_i_b_l_e _u_n_t_i_l _i_t _i_s
                                 _e_x_p_l_i_c_i_t_l_y _u_n_p_o_s_t_e_d.
                                 _P_l_a_c_i_n_g _t_h_e _l_o_c_a_t_i_o_n _c_u_r_s_o_r
                                 _o_n _t_h_e _d_e_f_a_u_l_t _e_n_t_r_y _a_l_l_o_w_s
                                 _t_h_e _u_s_e_r _t_o _s_e_l_e_c_t _t_h_e
                                 _d_e_f_a_u_l_t _o_p_e_r_a_t_i_o_n _e_a_s_i_l_y.
                                 _W_h_e_n _t_h_e_r_e _i_s _n_o _d_e_f_a_u_l_t
                                 _e_n_t_r_y, _p_l_a_c_i_n_g _t_h_e _l_o_c_a_t_i_o_n
                                 _c_u_r_s_o_r _o_n _t_h_e _f_i_r_s_t _e_n_t_r_y
                                 _y_i_e_l_d_s _u_n_i_f_o_r_m _b_e_h_a_v_i_o_r
                                 _a_c_r_o_s_s _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ 22_--2288::            Your application removes a
                                 spring-loaded Menu system
                                 when the mouse button that
                                 activated it is released
                                 (Section 3.1).

                                 _T_h_e _c_o_n_c_e_p_t _o_f _a _s_p_r_i_n_g-
                                 _l_o_a_d_e_d _M_e_n_u _s_y_s_t_e_m _r_e_q_u_i_r_e_s
                                 _t_h_a_t _t_h_e _M_e_n_u _d_i_s_a_p_p_e_a_r _w_h_e_n
                                 _t_h_e _m_o_u_s_e _b_u_t_t_o_n _i_s
                                 _r_e_l_e_a_s_e_d.




        May 8, 1992                                             B-31








        OSF/Motif Style Guide


             _ _ 22_--2299::            While a spring-loaded Menu
                                 system is popped up or
                                 pulled down, moving the
                                 pointer within the Menu
                                 system moves the location
                                 cursor to track the pointer
                                 (Section 3.1).

                                 _O_n_c_e _a _s_p_r_i_n_g-_l_o_a_d_e_d _M_e_n_u
                                 _s_y_s_t_e_m _h_a_s _a_p_p_e_a_r_e_d _o_n _t_h_e
                                 _s_c_r_e_e_n, _t_h_e _u_s_e_r _n_e_e_d_s _t_o _b_e
                                 _a_b_l_e _t_o _m_a_n_e_u_v_e_r _t_h_e
                                 _l_o_c_a_t_i_o_n _c_u_r_s_o_r _t_h_r_o_u_g_h _t_h_e
                                 _M_e_n_u _s_y_s_t_e_m _u_s_i_n_g _t_h_e _m_o_u_s_e.

             _ _ 22_--3300::            If the pointer rests on a
                                 CascadeButton, the
                                 associated Menu is pulled
                                 down and becomes
                                 traversable.  The associated
                                 Menu is removed when the
                                 pointer moves to a Menu item
                                 outside of the Menu or its
                                 CascadeButton, unless your
                                 application is using pointer
                                 tracking and drag delay.  In
                                 this case, the removal can
                                 be delayed for a short time
                                 if the pointer motion is in
                                 the direction of the
                                 associated Menu (Section
                                 3.1).

                                 _T_h_e _u_s_e_r _n_e_e_d_s _t_o _b_e _a_b_l_e _t_o
                                 _u_s_e _t_h_e _m_o_u_s_e _t_o _a_c_c_e_s_s _a_l_l
                                 _o_f _t_h_e _a_s_s_o_c_i_a_t_e_d _M_e_n_u_s _o_f _a
                                 _M_e_n_u _s_y_s_t_e_m.  _T_h_e _p_o_i_n_t_e_r
                                 _t_r_a_c_k_i_n_g _a_n_d _d_r_a_g _d_e_l_a_y
                                 _m_o_d_e_l _a_l_l_o_w_s _t_h_e _u_s_e_r _t_o
                                 _d_r_a_g _d_i_a_g_o_n_a_l_l_y _f_r_o_m _a
                                 _C_a_s_c_a_d_e_B_u_t_t_o_n _t_o _i_t_s
                                 _a_s_s_o_c_i_a_t_e_d _M_e_n_u.  _A_l_t_h_o_u_g_h
                                 _t_h_e _p_o_i_n_t_e_r _b_r_i_e_f_l_y _m_o_v_e_s
                                 _o_u_t_s_i_d_e _o_f _e_i_t_h_e_r _t_h_e
                                 _C_a_s_c_a_d_e_B_u_t_t_o_n _o_r _i_t_s
                                 _a_s_s_o_c_i_a_t_e_d _M_e_n_u, _t_h_e
                                 _a_s_s_o_c_i_a_t_e_d _M_e_n_u _d_o_e_s _n_o_t
                                 _d_i_s_a_p_p_e_a_r.

             _ _ 22_--3311::            If the pointer is in a Menu
                                 system that is part of the



        B-32                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                                 MenuBar, moving the pointer
                                 to any other element on the
                                 MenuBar unposts the current
                                 Menu system and posts the
                                 PullDown Menu associated
                                 with the new element
                                 (Section 3.1).

                                 _T_h_i_s _f_e_a_t_u_r_e _o_f _a _s_p_r_i_n_g-
                                 _l_o_a_d_e_d _M_e_n_u _s_y_s_t_e_m _a_l_l_o_w_s
                                 _t_h_e _u_s_e_r _t_o _b_r_o_w_s_e _q_u_i_c_k_l_y
                                 _t_h_r_o_u_g_h _a_l_l _o_f _t_h_e _M_e_n_u_s
                                 _a_t_t_a_c_h_e_d _t_o _a _M_e_n_u_B_a_r.

             _ _ 22_--3322::            While a spring-loaded Menu
                                 system is popped up or
                                 pulled down, releasing the
                                 mouse button that activated
                                 the Menu, within a component
                                 in the Menu system,
                                 activates that component,
                                 including CascadeButtons
                                 (Section 3.1).

                                 _R_e_l_e_a_s_i_n_g _t_h_e _m_o_u_s_e _b_u_t_t_o_n
                                 _t_h_a_t _a_c_t_i_v_a_t_e_d _a _s_p_r_i_n_g-
                                 _l_o_a_d_e_d _M_e_n_u _p_r_o_v_i_d_e_s _a _m_e_a_n_s
                                 _o_f _a_c_t_i_v_a_t_i_n_g _a _M_e_n_u _e_l_e_m_e_n_t
                                 _t_h_a_t _i_s _c_o_n_s_i_s_t_e_n_t _a_c_r_o_s_s
                                 _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ 22_--3333::            When the pointer is on a
                                 CascadeButton or an
                                 OptionButton, your
                                 application uses BBSSeelleecctt
                                 RReelleeaassee to activate the
                                 associated Menu in a posted
                                 manner if it was not posted
                                 prior to the associated
                                 BBSSeelleecctt PPrreessss (Section 3.1).

                                 BBSSeelleecctt RReelleeaassee _p_r_o_v_i_d_e_s _a
                                 _w_a_y _o_f _p_o_s_t_i_n_g _a _P_u_l_l_D_o_w_n
                                 _M_e_n_u _o_r _a_n _O_p_t_i_o_n _M_e_n_u _t_h_a_t
                                 _i_s _c_o_n_s_i_s_t_e_n_t _a_c_r_o_s_s
                                 _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ 22_--3344::            When the pointer is in an
                                 area with a Popup Menu, your
                                 application uses BBMMeennuu
                                 RReelleeaassee to activate the Menu



        May 8, 1992                                             B-33








        OSF/Motif Style Guide


                                 in a posted manner if it was
                                 not posted prior to the
                                 associated BBMMeennuu PPrreessss
                                 (Section 3.1).

                                 BBMMeennuu RReelleeaassee _p_r_o_v_i_d_e_s _a
                                 _m_e_a_n_s _o_f _p_o_s_t_i_n_g _a _P_o_p_u_p
                                 _M_e_n_u _t_h_a_t _i_s _c_o_n_s_i_s_t_e_n_t
                                 _a_c_r_o_s_s _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ 22_--3355::            A posted Menu is not
                                 unposted until one of the
                                 following events occurs
                                 (Section 3.1).

                                    +o A mouse button is
                                      pressed.

                                    +o A keyboard operation
                                      moves the cursor out of
                                      the Menu system.

                                    +o A keyboard operation
                                      moves the cursor to a
                                      parent of the posted
                                      Menu.

                                    +o A Menu item, other than
                                      a CascadeButton is
                                      activated.

                                    +o <<CCaanncceell>> is typed from
                                      the top of the Menu
                                      system.

                                 _T_h_e_s_e _r_u_l_e_s _e_n_s_u_r_e _t_h_a_t
                                 _p_o_s_t_e_d _M_e_n_u_s _a_r_e _u_n_p_o_s_t_e_d _i_n
                                 _a _c_o_n_s_i_s_t_e_n_t _m_a_n_n_e_r _a_c_r_o_s_s
                                 _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ 22_--3366::            Once a PullDown or Option
                                 Menu is posted, BBSSeelleecctt
                                 PPrreessss in the Menu system
                                 causes the Menu to behave as
                                 a spring-loaded Menu
                                 (Section 3.1).

                                 _T_h_i_s _f_e_a_t_u_r_e _o_f _a _p_o_s_t_e_d
                                 _P_u_l_l_D_o_w_n _o_r _O_p_t_i_o_n _M_e_n_u
                                 _a_l_l_o_w_s _t_h_e _u_s_e_r _t_o _s_w_i_t_c_h
                                 _e_a_s_i_l_y _b_e_t_w_e_e_n _u_s_i_n_g _a



        B-34                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                                 _p_o_s_t_e_d _M_e_n_u _a_n_d _a _s_p_r_i_n_g-
                                 _l_o_a_d_e_d _M_e_n_u.

             _ _ 22_--3377::            Once a Popup Menu is posted,
                                 BBMMeennuu PPrreessss in the Menu
                                 system causes the Menu to
                                 behave as a spring-loaded
                                 Menu (Section 3.1).

                                 _T_h_i_s _f_e_a_t_u_r_e _o_f _a _p_o_s_t_e_d
                                 _P_o_p_u_p _M_e_n_u _a_l_l_o_w_s _t_h_e _u_s_e_r
                                 _t_o _s_w_i_t_c_h _e_a_s_i_l_y _b_e_t_w_e_e_n
                                 _u_s_i_n_g _a _p_o_s_t_e_d _M_e_n_u _a_n_d _a
                                 _s_p_r_i_n_g-_l_o_a_d_e_d _M_e_n_u.



        B.2.5.2  KKeeyybbooaarrdd--BBaasseedd NNaavviiggaattiioonn



             YYeess NN//AA NNoo

             _ _ 22_--3388::            Your application uses <<FF1100>>
                                 to activate the MenuBar
                                 system if it is inactive.
                                 The location cursor is
                                 placed on the first
                                 traversable Menu in the
                                 MenuBar.  If there are no
                                 traversable Menus, the key
                                 does nothing.  If the
                                 MenuBar system is active,
                                 the key unposts all Menus in
                                 the MenuBar system and
                                 returns the location cursor
                                 to the component that
                                 previously had it (Section
                                 3.3).

                                 <<FF1100>> _p_r_o_v_i_d_e_s _a _c_o_n_s_i_s_t_e_n_t
                                 _m_e_a_n_s _o_f _t_r_a_v_e_r_s_i_n_g _t_o _t_h_e
                                 _M_e_n_u_B_a_r _u_s_i_n_g _t_h_e _k_e_y_b_o_a_r_d.

             _ _ 22_--3399::            When the keyboard focus is
                                 in an element with an
                                 inactive Popup Menu and the
                                 context of the element
                                 allows the Popup Menu to be
                                 displayed, your application
                                 uses <<MMeennuu>> to activate the



        May 8, 1992                                             B-35








        OSF/Motif Style Guide


                                 Popup Menu.  The location
                                 cursor is placed on the
                                 first traversable item in
                                 the Popup Menu.  If there is
                                 an active Popup Menu, <<MMeennuu>>
                                 unposts the Menu system and
                                 returns the location cursor
                                 to the component that
                                 previously had it (Section
                                 3.3).

                                 <<MMeennuu>> _p_r_o_v_i_d_e_s _a _u_n_i_f_o_r_m
                                 _w_a_y _o_f _a_c_t_i_v_a_t_i_n_g _a _P_o_p_u_p
                                 _M_e_n_u _f_r_o_m _t_h_e _k_e_y_b_o_a_r_d.

             _ _ 22_--4400::            When the keyboard focus is
                                 in the button area of an
                                 Option Menu, your
                                 application uses <<SSeelleecctt>> or
                                 <<SSppaaccee>> to post the Option
                                 Menu.  The location cursor
                                 is placed on the previously
                                 selected item in the Option
                                 Menu, or if the Option Menu
                                 has been pulled down for the
                                 first time, the location
                                 cursor is placed on the
                                 default item in the Menu.
                                 If there is an active Option
                                 Menu, the keys select the
                                 current item in the Option
                                 Menu, unpost the Menu
                                 system, and return the
                                 location cursor to the
                                 OptionButton (Section 3.3).

                                 _T_h_e_s_e _k_e_y_s _p_r_o_v_i_d_e _a _m_e_a_n_s
                                 _o_f _p_o_s_t_i_n_g _a_n _O_p_t_i_o_n _M_e_n_u
                                 _f_r_o_m _t_h_e _k_e_y_b_o_a_r_d _t_h_a_t _i_s
                                 _c_o_n_s_i_s_t_e_n_t _a_c_r_o_s_s
                                 _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ 22_--4411::            All Menu keyboard traversal
                                 actions in your application
                                 wrap at the edges of the
                                 Menu in the following manner
                                 (Section 3.3).

                                    +o In 1-dimensional Menus,
                                      traversal actions wrap
                                      between the first



        B-36                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                                      element and the last
                                      element in the Menu.

                                    +o In 2-dimensional Menus,
                                      traversal actions wrap
                                      between the bottom
                                      element of one column
                                      and the top element of
                                      the next column.  The
                                      bottom right element
                                      wraps with the top left
                                      element.

                                 _T_h_i_s _f_e_a_t_u_r_e _o_f _M_e_n_u
                                 _k_e_y_b_o_a_r_d _t_r_a_v_e_r_s_a_l _p_r_o_v_i_d_e_s
                                 _t_h_e _u_s_e_r _w_i_t_h _a _c_o_n_v_e_n_i_e_n_t
                                 _w_a_y _t_o _m_o_v_e _t_h_r_o_u_g_h _a_l_l _o_f
                                 _t_h_e _e_n_t_r_i_e_s _i_n _a _M_e_n_u.

             _ _ 22_--4422::            Your application uses <<||vv>>,
                                 <<<<-->>, <<-->>>>, and <<||^^>> to
                                 traverse through the items
                                 in a Menu system (Section
                                 3.3).

                                 The <<||vv>>, <<<<-->>, <<-->>>>, _a_n_d <<||^^>>
                                 _d_i_r_e_c_t_i_o_n _k_e_y_s _p_r_o_v_i_d_e _a
                                 _c_o_n_s_i_s_t_e_n_t _m_e_a_n_s _o_f
                                 _n_a_v_i_g_a_t_i_n_g _a_m_o_n_g _i_t_e_m_s _i_n _a
                                 _M_e_n_u _s_y_s_t_e_m.

             _ _ 22_--4433::            Navigation within a Menu
                                 system using the arrow keys
                                 behaves according to the
                                 following rules (Section
                                 3.3):

                                 <|v>       If the component
                                           is in a vertical
                                           Menu or a 2-
                                           dimensional Menu,
                                           traverse down to
                                           the next
                                           traversable
                                           component.  If the
                                           component is in a
                                           horizontal Menu or
                                           MenuBar, and the
                                           component with the
                                           keyboard focus is
                                           a CascadeButton,



        May 8, 1992                                             B-37








        OSF/Motif Style Guide


                                           traverse to the
                                           default entry in
                                           the associated
                                           cascade Menu or to
                                           the first
                                           traversable entry
                                           in the Menu if the
                                           Menu has no
                                           default.

                                 <|^>       If the component
                                           is in a vertical
                                           Menu or a 2-
                                           dimensional Menu,
                                           traverse up to the
                                           next traversable
                                           component.  If the
                                           component is in a
                                           horizontal Menu,
                                           and the current
                                           Menu is the child
                                           of a vertical or
                                           2-dimensional
                                           Menu, traverse to
                                           the parent
                                           CascadeButton.

                                 <<->      If the component
                                           is in a horizontal
                                           Menu, MenuBar, or
                                           2-dimensional
                                           Menu, but not at
                                           the left edge,
                                           traverse left to
                                           the next
                                           traversable
                                           component.  If the
                                           component is in a
                                           vertical Menu at
                                           the left edget of
                                           a 2-dimensional
                                           Menu, and the
                                           current Menu is
                                           the child of a
                                           vertical or 2-
                                           dimensional Menu,
                                           traverse to the
                                           parent
                                           CascadeButton.
                                           Otherwise, if the
                                           current Menu is



        B-38                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                                           the child of a
                                           horizontal Menu or
                                           the MenuBar,
                                           unpost the current
                                           Menu pulled down
                                           from that parent
                                           and traverse to
                                           the previous
                                           traversable entry
                                           in the MenuBar.
                                           If that entry is a
                                           cascade button,
                                           post its
                                           associated
                                           PullDown Menu and
                                           traverse to the
                                           default entry in
                                           the Menu, or the
                                           first traversable
                                           entry if there is
                                           no default.

                                 <->>      If the component
                                           is on a
                                           CascadeButton in a
                                           vertical or 2-
                                           dimensional Menu,
                                           traverse to the
                                           default entry in
                                           the associated
                                           Cascade Menu, or
                                           to the first
                                           traversable entry
                                           in the Menu if the
                                           Menu has no
                                           default.
                                           Otherwise, if the
                                           component is in a
                                           MenuBar, a
                                           horizontal Menu,
                                           or is not at the
                                           right edge of a
                                           Menu, traverse
                                           right to the next
                                           traversable
                                           component.
                                           Otherwise, if the
                                           current Menu has a
                                           horizontal Menu
                                           ancestor including
                                           the MenuBar,



        May 8, 1992                                             B-39








        OSF/Motif Style Guide


                                           unpost the current
                                           Menu system pulled
                                           down from that
                                           ancestor and
                                           traverse to the
                                           next entry in the
                                           Menu, or to the
                                           first traversable
                                           entry in the Menu
                                           if the Menu has no
                                           default.

                                 _T_h_e_s_e _r_u_l_e_s _r_e_s_u_l_t _i_n _t_h_e
                                 _c_o_n_s_i_s_t_e_n_t _o_p_e_r_a_t_i_o_n _o_f _t_h_e
                                 _a_r_r_o_w _k_e_y_s _i_n _M_e_n_u _s_y_s_t_e_m_s.

             _ _ 22_--4444::            All Menu traversal actions,
                                 with the exception of Menu
                                 posting, traverse to
                                 TearoffButtons in the same
                                 way as for other Menu
                                 entries (Section 3.3).

                                 _T_r_a_v_e_r_s_a_l _o_f _T_e_a_r_o_f_f_B_u_t_t_o_n_s
                                 _n_e_e_d_s _t_o _b_e _c_o_n_s_i_s_t_e_n_t _w_i_t_h
                                 _t_r_a_v_e_r_s_a_l _o_f _o_t_h_e_r _M_e_n_u
                                 _i_t_e_m_s.

             _ _ 22_--4455::            If your application uses
                                 <<CCaanncceell>> to exit out of a
                                 Menu hierarchy and an
                                 explicit focus policy is in
                                 use, the location cursor is
                                 moved back to the component
                                 that had it prior to the
                                 posting of the Menu system
                                 (Section 3.3).

                                 _R_e_t_u_r_n_i_n_g _t_h_e _l_o_c_a_t_i_o_n
                                 _c_u_r_s_o_r _t_o _t_h_e _c_o_m_p_o_n_e_n_t _t_h_a_t
                                 _h_a_d _i_t _p_r_e_v_i_o_u_s_l_y _a_l_l_o_w_s _t_h_e
                                 _u_s_e_r _t_o _r_e_s_u_m_e _a _t_a_s_k
                                 _w_i_t_h_o_u_t _d_i_s_r_u_p_t_i_o_n.











        B-40                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


        B.3  DDiiaalloogg BBooxxeess






        B.3.1  UUsseerr IInntteerraaccttiioonn



             YYeess NN//AA NNoo

             _ _ _33--11::            MessageDialogs do not
                                 interrupt the user's
                                 interaction with your
                                 application (Section
                                 6.2.1.5.5).

                                 _A _m_o_d_a_l _d_i_a_l_o_g _i_s _o_n_e _t_h_a_t
                                 _l_i_m_i_t_s _h_o_w _a _u_s_e_r _c_a_n
                                 _i_n_t_e_r_a_c_t _w_i_t_h _o_t_h_e_r _w_i_n_d_o_w_s
                                 _i_n _o_r_d_e_r _t_o _f_o_r_c_e _t_h_e _o_r_d_e_r
                                 _o_f _i_n_t_e_r_a_c_t_i_o_n.  _A
                                 _M_e_s_s_a_g_e_D_i_a_l_o_g _c_o_n_v_e_y_s _a
                                 _m_e_s_s_a_g_e _t_o _t_h_e _u_s_e_r _t_h_a_t
                                 _d_o_e_s _n_o_t _r_e_q_u_i_r_e _i_m_m_e_d_i_a_t_e
                                 _a_t_t_e_n_t_i_o_n, _s_o _i_t _d_o_e_s _n_o_t
                                 _n_e_e_d _t_o _b_e _m_o_d_a_l.

             _ _ _33--22::            InformationDialogs do not
                                 interrupt the user's
                                 interaction with your
                                 application (Section
                                 6.2.1.5.5).

                                 _A_n _I_n_f_o_r_m_a_t_i_o_n_D_i_a_l_o_g _c_o_n_v_e_y_s
                                 _i_n_f_o_r_m_a_t_i_o_n _t_o _t_h_e _u_s_e_r _t_h_a_t
                                 _d_o_e_s _n_o_t _r_e_q_u_i_r_e _i_m_m_e_d_i_a_t_e
                                 _a_t_t_e_n_t_i_o_n, _s_o _i_t _d_o_e_s _n_o_t
                                 _n_e_e_d _t_o _b_e _m_o_d_a_l.

             _ _ _33--33::            A WarningDialog allows the
                                 user to cancel the
                                 destructive action about
                                 which it is providing a
                                 warning (Section 6.3.2.2).

                                 _T_h_e _u_s_e_r _n_e_e_d_s _t_o _h_a_v_e _a _w_a_y
                                 _t_o _c_a_n_c_e_l _a_n _o_p_e_r_a_t_i_o_n _t_h_a_t
                                 _c_a_n _c_a_u_s_e _d_e_s_t_r_u_c_t_i_v_e



        May 8, 1992                                             B-41








        OSF/Motif Style Guide


                                 _r_e_s_u_l_t_s.



        B.3.2  SSttaannddaarrdd AAccttiioonnss




             NNoottee::  These requirements only apply in a
                    left-to-right language direction
                    environment in an English locale.
                    You need to make the appropriate
                    changes for other locales.


             YYeess NN//AA NNoo

             _ _ _33--44::            If your application uses
                                 common DialogBox actions,
                                 the actions have the
                                 following specified
                                 functionality (Section
                                 6.2.4.1):

                                 Yes            Indicates an
                                                affirmative
                                                response to a
                                                question
                                                posed in the
                                                DialogBox.

                                 No             Indicates a
                                                negative
                                                response to a
                                                question
                                                posed in the
                                                DialogBox.

                                 OK             Applies any
                                                changes made
                                                to components
                                                in the
                                                DialogBox and
                                                dismisses the
                                                DialogBox.

                                 Apply          Applies any
                                                changes made
                                                to components
                                                in the



        B-42                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                                                DialogBox.

                                 Retry          Causes the
                                                task in
                                                progress to
                                                be attempted
                                                again.

                                 Stop           Ends the task
                                                in progress
                                                at the next
                                                possible
                                                breaking
                                                point.

                                 Reset          Cancels any
                                                user changes
                                                that have not
                                                been applied
                                                to your
                                                application.
                                                Resets the
                                                status of the
                                                DialogBox to
                                                the state
                                                since the
                                                last time the
                                                DialogBox
                                                action was
                                                applied or to
                                                the initial
                                                state of the
                                                DialogBox.

                                 Cancel         Closes the
                                                DialogBox
                                                without
                                                performing
                                                any DialogBox
                                                actions not
                                                yet applied
                                                to your
                                                application.
                                                Pressing
                                                <<CCaanncceell>>
                                                anywhere in
                                                the
                                                DialogBox,
                                                except during
                                                a cancelable
                                                drag



        May 8, 1992                                             B-43








        OSF/Motif Style Guide


                                                operation,
                                                also performs
                                                the action of
                                                this button.

                                 Help           Provides any
                                                help for the
                                                DialogBox.

                                 _T_h_e _u_s_e _o_f _c_o_m_m_o_n _a_c_t_i_o_n_s
                                 _p_r_o_v_i_d_e_s _a _c_o_n_s_i_s_t_e_n_t _w_a_y
                                 _f_o_r _t_h_e _u_s_e_r _t_o _r_e_s_p_o_n_d
                                 _q_u_i_c_k_l_y _t_o _D_i_a_l_o_g_B_o_x_e_s _a_n_d
                                 _g_e_t _b_a_c_k _t_o _p_r_i_m_a_r_y
                                 _a_p_p_l_i_c_a_t_i_o_n _t_a_s_k_s.



        B.3.3  DDeeffaauulltt AAccttiivvaattiioonn




             NNoottee::  Your application is very likely to
                    comply with the DDeeffaauulltt AAccttiivvaattiioonn
                    section of the Checklist if:

                       +o it is based on a Motif
                         Toolkit with Level Two
                         validation,

                       +o it does not use any event
                         handlers to redirect keyboard
                         or pointer events,

                       +o it uses only widgets provided
                         by OSF in the OSF/Motif
                         widget set, and

                       +o it uses the default widget
                         translations and the default
                         settings of the following
                         widget resources:

                            - XXmmNNddeeffaauullttBBuuttttoonn

                            - XXmmNNttrraannssllaattiioonnss


             YYeess NN//AA NNoo




        B-44                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


             _ _ _33--55::            If your application uses
                                 default PushButtons in
                                 DialogBoxes, the default
                                 button for each DialogBox is
                                 highlighted (Section 5.6).

                                 _P_l_a_c_i_n_g _e_m_p_h_a_s_i_s _o_n _t_h_e
                                 _d_e_f_a_u_l_t _P_u_s_h_B_u_t_t_o_n _i_n _a
                                 _D_i_a_l_o_g_B_o_x _p_r_o_v_i_d_e_s _t_h_e _u_s_e_r
                                 _w_i_t_h _a _v_i_s_u_a_l _c_u_e _a_b_o_u_t _t_h_e
                                 _e_x_p_e_c_t_e_d _r_e_p_l_y _t_o _t_h_e
                                 _d_i_a_l_o_g.

             _ _ _33--66::            Your application activates
                                 the default action of a
                                 DialogBox according to the
                                 following rules (Section
                                 5.6):

                                    +o When the input focus is
                                      on a PushButton other
                                      than the default, and
                                      if the component
                                      accepts input, <<EEnntteerr>>
                                      or <<RReettuurrnn>> activates
                                      the PushButton with the
                                      input focus and the
                                      highlighting is removed
                                      from the default
                                      button.

                                    +o When the input focus is
                                      on an activatable field
                                      control, like a List or
                                      a Text component, and
                                      if the control accepts
                                      input, pressing BBSSeelleecctt
                                      CClliicckk 22 activates both
                                      the field control's
                                      corresponding action
                                      and the default action
                                      of the DialogBox,
                                      except where this input
                                      is used internally by
                                      the component.

                                    +o When the input focus is
                                      on an activatable field
                                      control, like a List or
                                      a Text component, and
                                      if the control accepts



        May 8, 1992                                             B-45








        OSF/Motif Style Guide


                                      input, <<EEnntteerr>> or
                                      <<RReettuurrnn>> activates the
                                      default action of the
                                      DialogBox, but not the
                                      action of the
                                      component, except where
                                      this input is used
                                      internally by the
                                      component.

                                    +o When the input focus is
                                      on any other component,
                                      <<EEnntteerr>> or <<RReettuurrnn>>
                                      activates the default
                                      action of the
                                      DialogBox, but not the
                                      action of the
                                      component.

                                    +o When the input focus is
                                      not on any component,
                                      <<EEnntteerr>> or <<RReettuurrnn>>
                                      activates the default
                                      action of the
                                      DialogBox.

                                 _T_h_e_s_e _r_u_l_e_s _e_n_s_u_r_e _t_h_a_t _t_h_e
                                 _o_p_e_r_a_t_i_o_n _o_f <<EEnntteerr>> _a_n_d
                                 <<RReettuurrnn>> _i_n _D_i_a_l_o_g_B_o_x_e_s _i_s
                                 _c_o_n_s_i_s_t_e_n_t _a_c_r_o_s_s
                                 _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ _33--77::            Except in the middle of a
                                 mouse-based drag operation
                                 or another modal operation
                                 that can be cancelled,
                                 <<CCaanncceell>> anywhere in a
                                 DialogBox is equivalent to
                                 activating the Cancel
                                 PushButton in the DialogBox
                                 (Section 5.6).

                                 <<CCaanncceell>> _p_r_o_v_i_d_e_s _a _u_n_i_f_o_r_m
                                 _m_e_a_n_s _o_f _c_a_n_c_e_l_i_n_g _a
                                 _D_i_a_l_o_g_B_o_x _f_r_o_m _t_h_e _k_e_y_b_o_a_r_d.









        B-46                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


        B.4  NNaavviiggaattiioonn




             NNoottee::  The NNaavviiggaattiioonn section does not
                    apply to Menu navigation, which is
                    covered previously in Section 2.5.




        B.4.1  MMoouussee--BBaasseedd NNaavviiggaattiioonn



             YYeess NN//AA NNoo

             _ _ _44--11::            The mouse always behaves as
                                 if the focus policy is
                                 implicit (Sections 2.1.2,
                                 3.1).

                                 _W_i_t_h _t_h_e _e_x_c_e_p_t_i_o_n _o_f _b_r_i_e_f
                                 _m_o_d_a_l _b_e_h_a_v_i_o_r, _a_n
                                 _a_p_p_l_i_c_a_t_i_o_n _c_a_n_n_o_t _r_e_d_i_r_e_c_t
                                 _m_o_u_s_e _e_v_e_n_t_s _t_o _a _c_o_m_p_o_n_e_n_t
                                 _o_t_h_e_r _t_h_a_n _t_h_e _o_n_e _i_n _w_h_i_c_h
                                 _t_h_e _m_o_u_s_e _r_e_s_i_d_e_s.



        B.4.2  KKeeyybbooaarrdd--BBaasseedd NNaavviiggaattiioonn




             NNoottee::  Your application is very likely to
                    comply with the KKeeyybbooaarrdd--BBaasseedd
                    NNaavviiggaattiioonn section of the
                    Checklist if:

                       +o it is based on a Motif
                         Toolkit with Level Two
                         validation,

                       +o it does not use any event
                         handlers to redirect keyboard
                         or pointer events,





        May 8, 1992                                             B-47








        OSF/Motif Style Guide


                       +o it does not use
                         XXmmPPrroocceessssTTrraavveerrssaall,

                       +o it uses only widgets provided
                         by OSF in the OSF/Motif
                         widget set, and

                       +o it uses the default widget
                         translations and the default
                         settings of the following
                         widget resources:

                            - XXmmNNnnaavviiggaattiioonnTTyyppee

                            - XXmmNNttrraannssllaattiioonnss

                            - XXmmNNttrraavveerrssaallOOnn


             YYeess NN//AA NNoo

             _ _ _44--22::            All components that have
                                 their own internal
                                 navigation are fields, as
                                 defined in the _O_S_F/_M_o_t_i_f
                                 _S_t_y_l_e _G_u_i_d_e _R_e_v_i_s_i_o_n _1._2.
                                 All groups are fields,
                                 unless a group contains no
                                 controls.  When a component
                                 is used as a pane in a
                                 PanedWindow, it is a field.
                                 All top-level components in
                                 a window are fields (Section
                                 3.2.3).

                                 _C_o_m_p_o_n_e_n_t _n_a_v_i_g_a_t_i_o_n _m_o_v_e_s
                                 _t_h_e _l_o_c_a_t_i_o_n _c_u_r_s_o_r, _a_n_d
                                 _t_h_e_r_e_f_o_r_e _t_h_e _k_e_y_b_o_a_r_d
                                 _f_o_c_u_s, _a_m_o_n_g _c_o_m_p_o_n_e_n_t_s _i_n _a
                                 _w_i_n_d_o_w.  _T_h_e _m_o_d_e_l _f_o_r
                                 _c_o_m_p_o_n_e_n_t _n_a_v_i_g_a_t_i_o_n
                                 _o_r_g_a_n_i_z_e_s _c_o_m_p_o_n_e_n_t_s _i_n_t_o
                                 _t_r_a_v_e_r_s_a_b_l_e _g_r_o_u_p_s _c_a_l_l_e_d
                                 _f_i_e_l_d_s.  _I_f _a _c_o_m_p_o_n_e_n_t _i_s
                                 _n_o_t _a _f_i_e_l_d _b_y _i_t_s_e_l_f _o_r _i_s
                                 _n_o_t _c_o_n_t_a_i_n_e_d _w_i_t_h_i_n _a
                                 _f_i_e_l_d, _t_h_e _c_o_m_p_o_n_e_n_t _i_s _n_o_t
                                 _r_e_a_c_h_a_b_l_e _b_y _k_e_y_b_o_a_r_d-_b_a_s_e_d
                                 _n_a_v_i_g_a_t_i_o_n.





        B-48                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


             _ _ _44--33::            Your application uses <<TTaabb>>,
                                 <<CCttrrll>> <<TTaabb>>, <<SShhiifftt>> <<TTaabb>>,
                                 and <<CCttrrll>> <<SShhiifftt>> <<TTaabb>> to
                                 move the location cursor
                                 among fields.  Controls that
                                 use <<TTaabb>> and <<SShhiifftt>> <<TTaabb>>
                                 internally use the <<CCttrrll>>
                                 modified bindings for
                                 navigation (Section 3.2.3).

                                 _T_h_e_s_e _k_e_y_s _p_r_o_v_i_d_e _a
                                 _c_o_n_s_i_s_t_e_n_t _m_e_a_n_s _o_f
                                 _n_a_v_i_g_a_t_i_n_g _a_m_o_n_g _f_i_e_l_d_s _i_n _a
                                 _w_i_n_d_o_w.

             _ _ _44--44::            <<TTaabb>> or <<CCttrrll>> <<TTaabb>> moves
                                 the location cursor forward
                                 through fields in your
                                 application according to the
                                 following rules (Section
                                 3.2.3):

                                    +o If the next field is a
                                      field control, <<TTaabb>> or
                                      <<CCttrrll>> <<TTaabb>> moves the
                                      location cursor to it.

                                    +o If the next field is a
                                      field group, <<TTaabb>> or
                                      <<CCttrrll>> <<TTaabb>> moves the
                                      location cursor to a
                                      traversable component
                                      within the field group.

                                    +o If the next field
                                      contains no traversable
                                      components, <<TTaabb>> or
                                      <<CCttrrll>> <<TTaabb>> skips the
                                      field.

                                    +o If the next field
                                      contains components
                                      that are themselves
                                      traversable fields, or
                                      the components are
                                      inside nested fields,
                                      <<TTaabb>> or <<CCttrrll>> <<TTaabb>>
                                      skips the outer field
                                      so that the inner
                                      fields can be
                                      traversed.



        May 8, 1992                                             B-49








        OSF/Motif Style Guide


                                 _T_h_e_s_e _r_u_l_e_s _e_n_s_u_r_e _t_h_e
                                 _c_o_n_s_i_s_t_e_n_t _o_p_e_r_a_t_i_o_n _o_f
                                 <<TTaabb>> _o_r <<CCttrrll>> <<TTaabb>> _a_c_r_o_s_s
                                 _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ _44--55::            <<SShhiifftt>> <<TTaabb>> or <<CCttrrll>>
                                 <<SShhiifftt>> <<TTaabb>> moves the
                                 location cursor backward
                                 through fields in your
                                 application using the
                                 analogous rules as for <<TTaabb>>
                                 or <<CCttrrll>> <<TTaabb>> (Section
                                 3.2.3).

                                 _T_h_e_s_e _r_u_l_e_s _r_e_s_u_l_t _i_n _t_h_e
                                 _u_n_i_f_o_r_m _o_p_e_r_a_t_i_o_n _o_f <<SShhiifftt>>
                                 <<TTaabb>> _o_r <<CCttrrll>> <<SShhiifftt>>
                                 <<TTaabb>> _a_c_r_o_s_s _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ _44--66::            Field navigation wraps
                                 between the first and last
                                 fields in your application
                                 (Section 3.2.3).

                                 _T_h_i_s _f_e_a_t_u_r_e _o_f _f_i_e_l_d
                                 _n_a_v_i_g_a_t_i_o_n _p_r_o_v_i_d_e_s _t_h_e _u_s_e_r
                                 _w_i_t_h _a _c_o_n_v_e_n_i_e_n_t _w_a_y _t_o
                                 _m_o_v_e _t_h_r_o_u_g_h _a_l_l _o_f _t_h_e
                                 _f_i_e_l_d_s _i_n _a _w_i_n_d_o_w.

             _ _ _44--77::            Your application uses <<||vv>>,
                                 <<<<-->>, <<-->>>>, and <<||^^>> to move
                                 the location cursor among
                                 components in a field group
                                 or among elements of a field
                                 control (Section 3.2.3).

                                 _T_h_e_s_e _k_e_y_s _p_r_o_v_i_d_e _a
                                 _c_o_n_s_i_s_t_e_n_t _m_e_a_n_s _o_f
                                 _n_a_v_i_g_a_t_i_n_g _a_m_o_n_g _c_o_m_p_o_n_e_n_t_s
                                 _i_n _a _f_i_e_l_d.

             _ _ _44--88::            If a component uses the
                                 control-modified arrow keys
                                 internally for navigation,
                                 it also uses the
                                 corresponding simple
                                 navigation (Section 3.2.3).

                                 _T_h_e _u_n_m_o_d_i_f_i_e_d _a_r_r_o_w _k_e_y_s
                                 _a_l_w_a_y_s _n_e_e_d _t_o _b_e _a_v_a_i_l_a_b_l_e



        B-50                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                                 _f_o_r _n_a_v_i_g_a_t_i_o_n.

             _ _ _44--99::            If the directional keys
                                 modified with CCttrrll are used
                                 for component navigation,
                                 their actions are identical
                                 to the corresponding
                                 unmodified keys (Section
                                 3.2.3).

                                 _C_o_n_t_r_o_l-_m_o_d_i_f_i_e_d _n_a_v_i_g_a_t_i_o_n
                                 _n_e_e_d_s _t_o _w_o_r_k _i_n _t_h_e _s_a_m_e
                                 _w_a_y _a_s _u_n_m_o_d_i_f_i_e_d
                                 _n_a_v_i_g_a_t_i_o_n.

             _ _ 44_--1100::            Navigation within a field
                                 behaves according to the
                                 following rules (Section
                                 3.2.3):

                                    +o In a left-to-right
                                      direction language
                                      environment, <<||vv>> moves
                                      the location cursor
                                      through all traversable
                                      components or elements
                                      in the field, starting
                                      at the upper left,
                                      ending at the lower
                                      right, and wrapping
                                      back to the upper left.
                                      In a right-to-left
                                      direction language
                                      environment, the
                                      location cursor  must
                                      move, starting at the
                                      upper right and moving
                                      to the lower left.

                                    +o <<||^^>> moves the location
                                      cursor through all
                                      traversable components
                                      or elements in the
                                      opposite direction of
                                      <<||vv>>.

                                    +o In a left-to-right
                                      direction language
                                      environment, <<-->>>> moves
                                      the location cursor
                                      through all traversable



        May 8, 1992                                             B-51








        OSF/Motif Style Guide


                                      components or elements
                                      in the field, starting
                                      at the upper left,
                                      ending at the lower
                                      right, and wrapping
                                      back to the upper left.
                                      In a right-to-left
                                      direction language
                                      environment, the cursor
                                      must move, starting at
                                      the lower left and
                                      moving to the upper
                                      right.

                                    +o <<<<-->> moves the location
                                      cursor through all
                                      traversable components
                                      or elements in the
                                      opposite direction of
                                      <<-->>>>.

                                 _T_h_e_s_e _r_u_l_e_s _e_n_s_u_r_e _a
                                 _c_o_n_s_i_s_t_e_n_t _m_e_a_n_s _o_f
                                 _n_a_v_i_g_a_t_i_n_g _a_m_o_n_g _c_o_m_p_o_n_e_n_t_s
                                 _u_s_i_n_g _t_h_e _a_r_r_o_w _k_e_y_s.

             _ _ 44_--1111::            Within scrollable field
                                 controls, your application
                                 uses the page navigation
                                 keys, <<PPaaggeeUUpp>>, <<PPaaggeeDDoowwnn>>,
                                 <<PPaaggeeLLeefftt>> or <<CCttrrll>>
                                 <<PPaaggeeUUpp>>, and <<PPaaggeeRRiigghhtt>> or
                                 <<CCttrrll>> <<PPaaggeeDDoowwnn>> to move
                                 the location cursor in
                                 full-page increments as
                                 defined by the size of the
                                 ScrolledWindow (Section
                                 3.2.3).

                                 _A _p_a_g_e _i_s _t_h_e _p_o_r_t_i_o_n _o_f
                                 _d_a_t_a _t_h_a_t _i_s _v_i_s_i_b_l_e _i_n _a
                                 _s_c_r_o_l_l_a_b_l_e _c_o_m_p_o_n_e_n_t.  _T_h_e_s_e
                                 _k_e_y_s _a_l_l_o_w _f_o_r _c_o_n_v_e_n_i_e_n_t
                                 _m_o_v_e_m_e_n_t _w_i_t_h_i_n _a _s_c_r_o_l_l_a_b_l_e
                                 _c_o_m_p_o_n_e_n_t.









        B-52                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


        B.4.3  SSccrroollllaabbllee CCoommppoonneenntt NNaavviiggaattiioonn



             YYeess NN//AA NNoo

             _ _ 44_--1122::            Any scrollable components
                                 within your application
                                 support the appropriate
                                 navigation and scrolling
                                 operations (Section 3.4).
                                 You must use the page
                                 navigation keys <<PPaaggeeUUpp>>,
                                 <<PPaaggeeDDoowwnn>>, <<PPaaggeeLLeefftt>> or
                                 <<CCttrrll>> <<PPaaggeeUUpp>>, and
                                 <<PPaaggeeRRiigghhtt>> or <<CCttrrll>>
                                 <<PPaaggeeDDoowwnn>> for scrolling the
                                 visible region by a page
                                 increment.

                                 _A _u_s_e_r _n_e_e_d_s _t_o _b_e _a_b_l_e _t_o
                                 _v_i_e_w _a_n_d _a_c_c_e_s_s _t_h_e _e_n_t_i_r_e
                                 _c_o_n_t_e_n_t_s _o_f _a _s_c_r_o_l_l_a_b_l_e
                                 _c_o_m_p_o_n_e_n_t.

             _ _ 44_--1133::            When scrolling by a page,
                                 your application leaves at
                                 least one unit of overlap
                                 between the old and new
                                 pages (Section 3.4).

                                 _T_h_e _o_v_e_r_l_a_p _b_e_t_w_e_e_n _o_n_e _p_a_g_e
                                 _a_n_d _t_h_e _n_e_x_t _y_i_e_l_d_s _v_i_s_u_a_l
                                 _c_o_n_t_i_n_u_i_t_y _f_o_r _t_h_e _u_s_e_r.

             _ _ 44_--1144::            In a vertically scrollable
                                 component, you must support
                                 <<CCttrrll>> <<BBeeggiinn>> and <<CCttrrll>>
                                 <<EEnndd>> to move the location
                                 cursor to the beginning and
                                 end of the scrollable
                                 component.  In a
                                 horizontally scrollable
                                 component, you must support
                                 <<BBeeggiinn>> and <<EEnndd>> to move
                                 the location cursor to the
                                 leftmost and rightmost edge
                                 of the scrollable component.

                                 _T_h_e _u_s_e_r _n_e_e_d_s _t_h_i_s _f_o_r
                                 _m_o_v_i_n_g _w_i_t_h_i_n _l_a_r_g_e



        May 8, 1992                                             B-53








        OSF/Motif Style Guide


                                 _d_o_c_u_m_e_n_t_s.

             _ _ 44_--1155::            Any keyboard operation that
                                 moves the cursor to or in
                                 the component, or that
                                 inserts, deletes, or
                                 modifies items at the cursor
                                 location scrolls the
                                 component so that the cursor
                                 is visible when the
                                 operation is complete
                                 (Section 3.4).

                                 _T_h_e _u_s_e_r _n_e_e_d_s _t_o _b_e _a_b_l_e _t_o
                                 _s_e_e _t_h_e _r_e_s_u_l_t_s _o_f _m_o_v_i_n_g
                                 _t_h_e _l_o_c_a_t_i_o_n _c_u_r_s_o_r _o_r
                                 _o_p_e_r_a_t_i_n_g _o_n _t_h_e _c_o_n_t_e_n_t_s _o_f
                                 _t_h_e _s_c_r_o_l_l_a_b_l_e _c_o_m_p_o_n_e_n_t.

             _ _ 44_--1166::            If a mouse-based scrolling
                                 action is in progress,
                                 <<CCaanncceell>> cancels the
                                 scrolling action and returns
                                 the scrolling device to its
                                 state prior to the start of
                                 the scrolling operation
                                 (Section 3.4).

                                 <<CCaanncceell>> _p_r_o_v_i_d_e_s _a
                                 _c_o_n_v_e_n_i_e_n_t _w_a_y _f_o_r _t_h_e _u_s_e_r
                                 _t_o _c_a_n_c_e_l _a _s_c_r_o_l_l_i_n_g
                                 _o_p_e_r_a_t_i_o_n.



        B.5  SSeelleeccttiioonn






        B.5.1  MMoouussee--BBaasseedd SSeelleeccttiioonn



             YYeess NN//AA NNoo

             _ _ _55--11::            If your application use
                                 marquee selection in
                                 graphics-like collections,



        B-54                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                                 all of the items completely
                                 within a marquee are
                                 included in the selection
                                 (Section 4.1.4).

                                 _I_n _m_a_r_q_u_e_e _s_e_l_e_c_t_i_o_n, _a_s
                                 BBSSeelleecctt _i_s _d_r_a_g_g_e_d _t_h_r_o_u_g_h
                                 _t_h_e _c_o_l_l_e_c_t_i_o_n, _a _b_o_x, _o_r
                                 _m_a_r_q_u_e_e, _i_s _d_e_f_i_n_e_d _f_r_o_m _t_h_e
                                 _a_n_c_h_o_r _t_o _t_h_e _c_u_r_r_e_n_t _m_o_u_s_e
                                 _p_o_s_i_t_i_o_n.  _A_l_l _o_f _t_h_e
                                 _e_l_e_m_e_n_t_s _i_n _t_h_e _b_o_x _a_r_e
                                 _i_n_c_l_u_d_e_d _i_n _t_h_e _s_e_l_e_c_t_i_o_n.


             NNoottee::  Your application is very likely to
                    comply with the rest of the
                    MMoouussee--BBaasseedd SSeelleeccttiioonn section of
                    the Checklist if:

                       +o it is based on a Motif
                         Toolkit with Level Two
                         validation,

                       +o it does not use any event
                         handlers to redirect keyboard
                         or pointer events,

                       +o it uses only widgets provided
                         by OSF in the OSF/Motif
                         widget set, and

                       +o it uses the default widget
                         translations and the default
                         settings of the following
                         widget resources:

                            - XXmmNNttrraannssllaattiioonnss


             _ _ _55--22::            Your application uses
                                 BBSSeelleecctt to select a single
                                 element or a range of
                                 elements.  The exact
                                 functionality of BBSSeelleecctt
                                 depends upon the state of
                                 the current selection and
                                 the selection model that is
                                 in effect (Sections 4.1.1
                                 through 4.1.5).




        May 8, 1992                                             B-55








        OSF/Motif Style Guide


                                 BBSSeelleecctt, _t_h_e _f_i_r_s_t _m_o_u_s_e
                                 _b_u_t_t_o_n, _p_r_o_v_i_d_e_s _a
                                 _c_o_n_s_i_s_t_e_n_t _m_e_a_n_s _o_f
                                 _s_e_l_e_c_t_i_n_g _a_n _o_b_j_e_c_t _w_i_t_h_i_n _a
                                 _g_r_o_u_p _u_s_i_n_g _t_h_e _m_o_u_s_e.  _T_h_e
                                 _f_i_v_e _d_i_f_f_e_r_e_n_t _s_e_l_e_c_t_i_o_n
                                 _m_o_d_e_l_s _a_r_e _s_i_n_g_l_e _s_e_l_e_c_t_i_o_n,
                                 _b_r_o_w_s_e _s_e_l_e_c_t_i_o_n, _m_u_l_t_i_p_l_e
                                 _s_e_l_e_c_t_i_o_n, _r_a_n_g_e _s_e_l_e_c_t_i_o_n,
                                 _a_n_d _d_i_s_c_o_n_t_i_g_u_o_u_s _s_e_l_e_c_t_i_o_n.

             _ _ _55--33::            Your application uses
                                 <<SShhiifftt>> BBSSeelleecctt to extend a
                                 range of selected elements.
                                 The exact operation of
                                 <<SShhiifftt>> BBSSeelleecctt depends upon
                                 the extension model that is
                                 in effect (Sections 4.1.4
                                 through 4.1.5).

                                 <<SShhiifftt>> BBSSeelleecctt _p_r_o_v_i_d_e_s _a
                                 _u_n_i_f_o_r_m _w_a_y _o_f _e_x_t_e_n_d_i_n_g _a
                                 _r_a_n_g_e _o_f _s_e_l_e_c_t_e_d _o_b_j_e_c_t_s
                                 _u_s_i_n_g _t_h_e _m_o_u_s_e.  _T_h_e _t_h_r_e_e
                                 _d_i_f_f_e_r_e_n_t _e_x_t_e_n_s_i_o_n _m_o_d_e_l_s
                                 _a_r_e _r_e_s_e_l_e_c_t, _e_n_l_a_r_g_e _o_n_l_y,
                                 _a_n_d _b_a_l_a_n_c_e _b_e_a_m _e_x_t_e_n_s_i_o_n.

             _ _ _55--44::            Your application uses <<CCttrrll>>
                                 BBSSeelleecctt to toggle the
                                 selection state of an
                                 element or a range of
                                 elements.  The exact
                                 functionality of <<CCttrrll>>
                                 BBSSeelleecctt depends upon the
                                 state of the current
                                 selection and the toggle
                                 model that is in effect
                                 (Section 4.1.5).

                                 <<CCttrrll>> BBSSeelleecctt _o_f_f_e_r_s _a
                                 _c_o_n_s_i_s_t_e_n_t _m_e_a_n_s _o_f _a_d_d_i_n_g
                                 _o_b_j_e_c_t_s _t_o _t_h_e _c_u_r_r_e_n_t
                                 _s_e_l_e_c_t_i_o_n _u_s_i_n_g _t_h_e _m_o_u_s_e.
                                 _T_h_e _t_h_r_e_e _d_i_f_f_e_r_e_n_t _t_o_g_g_l_e
                                 _m_o_d_e_l_s _a_r_e _a_n_c_h_o_r, _t_e_x_t, _a_n_d
                                 _f_u_l_l _t_o_g_g_l_e.







        B-56                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


        B.5.2  KKeeyybbooaarrdd--BBaasseedd SSeelleeccttiioonn




             NNoottee::  Your application is very likely to
                    comply with the KKeeyybbooaarrdd--BBaasseedd
                    SSeelleeccttiioonn section of the Checklist
                    if:

                       +o it is based on a Motif
                         Toolkit with Level Two
                         validation,

                       +o it does not use any event
                         handlers to redirect keyboard
                         or pointer events,

                       +o it uses only widgets provided
                         by OSF in the OSF/Motif
                         widget set, and

                       +o it uses the default widget
                         translations and the default
                         settings of the following
                         widget resources:

                            - XXmmNNttrraannssllaattiioonnss


             YYeess NN//AA NNoo

             _ _ _55--55::            Your application uses the
                                 navigation keys to position
                                 the location cursor.  The
                                 exact operation of the
                                 navigation keys depends upon
                                 the current keyboard
                                 selection model (Section
                                 4.1.6).

                                 _T_h_e _n_a_v_i_g_a_t_i_o_n _k_e_y_s _a_l_l_o_w
                                 _t_h_e _u_s_e_r _t_o _m_o_v_e _a_m_o_n_g _t_h_e
                                 _s_e_l_e_c_t_a_b_l_e _o_b_j_e_c_t_s.  _T_h_e _t_w_o
                                 _d_i_f_f_e_r_e_n_t _k_e_y_b_o_a_r_d _s_e_l_e_c_t_i_o_n
                                 _m_o_d_e_l_s _a_r_e _n_o_r_m_a_l _m_o_d_e _a_n_d
                                 _a_d_d _m_o_d_e.  _N_o_r_m_a_l _m_o_d_e _i_s _a
                                 _n_a_v_i_g_a_t_i_o_n/_s_e_l_e_c_t_i_o_n _m_o_d_e
                                 _w_h_e_r_e _t_h_e _l_o_c_a_t_i_o_n _c_u_r_s_o_r _i_s
                                 _n_e_v_e_r _d_i_s_j_o_i_n_t_e_d _f_r_o_m _t_h_e
                                 _c_u_r_r_e_n_t _s_e_l_e_c_t_i_o_n.  _A_d_d _m_o_d_e



        May 8, 1992                                             B-57








        OSF/Motif Style Guide


                                 _i_s _u_s_e_d _f_o_r _m_a_k_i_n_g _m_o_r_e
                                 _c_o_m_p_l_e_x _a_n_d _p_o_s_s_i_b_l_y
                                 _d_i_s_j_o_i_n_t_e_d _s_e_l_e_c_t_i_o_n_s _f_r_o_m
                                 _t_h_e _k_e_y_b_o_a_r_d.

             _ _ _55--66::            Your application uses
                                 <<SSeelleecctt>> or <<SSppaaccee>> to
                                 select a single element.
                                 The exact functionality of
                                 the keys depends upon the
                                 state of the current
                                 selection, the selection
                                 model that is in effect, and
                                 the current keyboard
                                 selection model (Section
                                 4.1.6).

                                 <<SSeelleecctt>> _a_n_d <<SSppaaccee>> _p_r_o_v_i_d_e
                                 _a _c_o_n_s_i_s_t_e_n_t _m_e_a_n_s _o_f
                                 _s_e_l_e_c_t_i_n_g _a_n _o_b_j_e_c_t _w_i_t_h_i_n _a
                                 _g_r_o_u_p _u_s_i_n_g _t_h_e _k_e_y_b_o_a_r_d.

             _ _ _55--77::            Your application uses
                                 <<SShhiifftt>> <<SSeelleecctt>> or <<SShhiifftt>>
                                 <<SSppaaccee>> to extend a range of
                                 selected elements.  The
                                 exact operation of the keys
                                 depends upon the selection,
                                 the extension, and the
                                 toggle models that are in
                                 effect, as well as the
                                 current keyboard selection
                                 model (Section 4.1.6).

                                 <<SShhiifftt>> <<SSeelleecctt>> _a_n_d <<SShhiifftt>>
                                 <<SSppaaccee>> _o_f_f_e_r _a _c_o_n_s_i_s_t_e_n_t
                                 _w_a_y _o_f _e_x_t_e_n_d_i_n_g _a _r_a_n_g_e _o_f
                                 _s_e_l_e_c_t_e_d _o_b_j_e_c_t_s _u_s_i_n_g _t_h_e
                                 _k_e_y_b_o_a_r_d.

             _ _ _55--88::            Your application uses
                                 <<SShhiifftt>> in conjunction with
                                 the navigation keys to
                                 extend the current selection
                                 based on the extension model
                                 used by <<SShhiifftt>> BBSSeelleecctt.
                                 The exact operation of these
                                 keys depends upon the
                                 selection, the extension,
                                 and the toggle models that
                                 are in effect, as well as



        B-58                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                                 the current keyboard
                                 selection model (Section
                                 4.1.6).

                                 _T_h_e _s_h_i_f_t_e_d _n_a_v_i_g_a_t_i_o_n _k_e_y_s
                                 _a_l_l_o_w _t_h_e _u_s_e_r _t_o _e_x_t_e_n_d _t_h_e
                                 _c_u_r_r_e_n_t _s_e_l_e_c_t_i_o_n _e_a_s_i_l_y
                                 _u_s_i_n_g _t_h_e _k_e_y_b_o_a_r_d.

             _ _ _55--99::            Your application uses
                                 <<SShhiifftt>> <<FF88>> to switch
                                 between normal mode and add
                                 mode in collections where
                                 both modes are supported
                                 (Section 4.1.6).

                                 <<SShhiifftt>> <<FF88>> _p_r_o_v_i_d_e_s _a
                                 _u_n_i_f_o_r_m _m_e_a_n_s _o_f _a_l_t_e_r_n_a_t_i_n_g
                                 _b_e_t_w_e_e_n _t_h_e _t_w_o _k_e_y_b_o_a_r_d
                                 _s_e_l_e_c_t_i_o_n _m_o_d_e_l_s, _n_o_r_m_a_l
                                 _m_o_d_e _a_n_d _a_d_d _m_o_d_e.

             _ _ 55_--1100::            Your application uses
                                 <<CCaanncceell>> to cancel or undo
                                 any incomplete mouse-based
                                 drag operation used for
                                 selection (Section 4.1.7).

                                 <<CCaanncceell>> _a_l_l_o_w_s _t_h_e _u_s_e_r _t_o
                                 _c_a_n_c_e_l _a_n _i_n_c_o_m_p_l_e_t_e
                                 _s_e_l_e_c_t_i_o_n _o_p_e_r_a_t_i_o_n _q_u_i_c_k_l_y
                                 _a_n_d _c_o_n_s_i_s_t_e_n_t_l_y.

             _ _ 55_--1111::            Your application uses <<CCttrrll>>
                                 <<//>> to select all of the
                                 elements in a collection
                                 using multiple, range, or
                                 discontiguous selection
                                 (Section 4.1.8).

                                 <<CCttrrll>> <<//>> _p_r_o_v_i_d_e_s _t_h_e _u_s_e_r
                                 _w_i_t_h _a _c_o_n_v_e_n_i_e_n_t _m_e_a_n_s _o_f
                                 _s_e_l_e_c_t_i_n_g _a_l_l _o_f _t_h_e _o_b_j_e_c_t_s
                                 _i_n _a _g_r_o_u_p.

             _ _ 55_--1122::            Your application uses <<CCttrrll>>
                                 <<\\>> to deselect all of the
                                 elements in a collection.
                                 The exact operation of
                                 <<CCttrrll>> <<\\>> depends upon the
                                 current keyboard selection



        May 8, 1992                                             B-59








        OSF/Motif Style Guide


                                 model (Section 4.1.8).

                                 <<CCttrrll>> <<>> _a_l_l_o_w_s _t_h_e _u_s_e_r _t_o
                                 _d_e_s_e_l_e_c_t _a_l_l _o_f _t_h_e _s_e_l_e_c_t_e_d
                                 _o_b_j_e_c_t_s _q_u_i_c_k_l_y _a_n_d
                                 _u_n_i_f_o_r_m_l_y.

             _ _ 55_--1133::            If your application supports
                                 mnemonics associated with
                                 selectable elements, typing
                                 a mnemonic while the
                                 collection has the keyboard
                                 focus is equivalent to
                                 moving the location cursor
                                 to the element and typing
                                 <<SSeelleecctt>> or <<SSppaaccee>> (Section
                                 4.1.9).

                                 _M_n_e_m_o_n_i_c_s _w_i_t_h_i_n _a
                                 _c_o_l_l_e_c_t_i_o_n _o_f _s_e_l_e_c_t_a_b_l_e
                                 _o_b_j_e_c_t_s _p_r_o_v_i_d_e _a_n
                                 _a_d_d_i_t_i_o_n_a_l _m_e_t_h_o_d _o_f
                                 _s_e_l_e_c_t_i_n_g _o_b_j_e_c_t_s.



        B.6  SSeelleeccttiioonn AAccttiioonnss



             YYeess NN//AA NNoo

             _ _ _66--11::            If the location cursor is in
                                 a component with a selection
                                 in your application,
                                 keyboard operations that act
                                 on selections operate on the
                                 selection in the component
                                 with the location cursor
                                 (Section 4.2).

                                 _K_e_y_b_o_a_r_d-_b_a_s_e_d _s_e_l_e_c_t_i_o_n
                                 _a_c_t_i_o_n_s _a_c_t _o_n _t_h_e _c_o_m_p_o_n_e_n_t
                                 _t_h_a_t _h_a_s _t_h_e _k_e_y_b_o_a_r_d _f_o_c_u_s
                                 _i_f _t_h_a_t _c_o_m_p_o_n_e_n_t _h_a_s _a
                                 _s_e_l_e_c_t_i_o_n.

             _ _ _66--22::            If the location cursor is
                                 not in a component with a
                                 selection, but it is in the
                                 same window of your



        B-60                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                                 application as the primary
                                 selection, and that window
                                 or a Menu of that window has
                                 a control that acts on
                                 selections, the control acts
                                 on the primary selection
                                 (Section 4.2).

                                 _S_e_l_e_c_t_i_o_n _a_c_t_i_o_n_s _o_p_e_r_a_t_e _o_n
                                 _t_h_e _p_r_i_m_a_r_y _s_e_l_e_c_t_i_o_n _i_n _a
                                 _w_i_n_d_o_w.

             _ _ _66--33::            If the location cursor is in
                                 an editable component in
                                 your application, keyboard
                                 operations that could either
                                 act on that component or
                                 another component in the
                                 window operate on the
                                 component with the location
                                 cursor (Section 4.2).

                                 _K_e_y_b_o_a_r_d _o_p_e_r_a_t_i_o_n_s _a_c_t _o_n
                                 _t_h_e _c_o_m_p_o_n_e_n_t _t_h_a_t _h_a_s _t_h_e
                                 _k_e_y_b_o_a_r_d _f_o_c_u_s.

             _ _ _66--44::            If the location cursor is
                                 not in an editable
                                 component, but the
                                 destination component is in
                                 the same window of your
                                 application as the location
                                 cursor, keyboard operations
                                 that could either act on the
                                 destination component or
                                 another component in the
                                 window act on the
                                 destination component
                                 (Section 4.2).

                                 _I_f _t_h_e _k_e_y_b_o_a_r_d _f_o_c_u_s _i_s _n_o_t
                                 _o_n _a_n _e_d_i_t_a_b_l_e _c_o_m_p_o_n_e_n_t,
                                 _k_e_y_b_o_a_r_d _o_p_e_r_a_t_i_o_n_s _o_p_e_r_a_t_e
                                 _o_n _t_h_e _d_e_s_t_i_n_a_t_i_o_n
                                 _c_o_m_p_o_n_e_n_t.









        May 8, 1992                                             B-61








        OSF/Motif Style Guide


        B.6.1  DDrraagg--aanndd--DDrroopp MMooddeell




             NNoottee::  Your application is very likely to
                    comply with the DDrraagg--aanndd--DDrroopp
                    MMooddeell section of the Checklist if:

                       +o it is based on a Motif
                         Toolkit with Level Two
                         validation,

                       +o it does not use any event
                         handlers to redirect keyboard
                         or pointer events,

                       +o it uses only widgets provided
                         by OSF in the OSF/Motif
                         widget set, and

                       +o it uses the default widget
                         translations and the default
                         settings of the following
                         widget resources:

                            - XXmmNNttrraannssllaattiioonnss


             YYeess NN//AA NNoo

             _ _ _66--55::            When a draggable element is
                                 composed of a group of
                                 selected elements, the
                                 entire selection is included
                                 in any drag-and-drop
                                 operations, even if the
                                 selection is discontiguous
                                 (Section 4.2.1).

                                 _A_n _e_l_e_m_e_n_t _o_r _a _g_r_o_u_p _o_f
                                 _e_l_e_m_e_n_t_s _t_h_a_t _c_a_n _b_e _d_r_a_g_g_e_d
                                 _i_s _c_a_l_l_e_d _a _d_r_a_g_g_a_b_l_e
                                 _e_l_e_m_e_n_t.  _T_o _b_e _c_o_n_s_i_s_t_e_n_t,
                                 _d_r_a_g-_a_n_d-_d_r_o_p _a_c_t_i_o_n_s _n_e_e_d
                                 _t_o _o_p_e_r_a_t_e _o_n _t_h_e _e_n_t_i_r_e
                                 _s_e_l_e_c_t_i_o_n.

             _ _ _66--66::            Pressing .ie0 .nr ;G 1
                                 Transfer in a draggable
                                 element and moving the



        B-62                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                                 pointer initiates a drag-
                                 and-drop interaction
                                 (Section 4.2.1.1).

                                 _P_r_e_s_s_i_n_g BBTTrraannssffeerr _o_n _a
                                 _s_e_l_e_c_t_i_o_n _o_f_f_e_r_s _a
                                 _c_o_n_s_i_s_t_e_n_t _m_e_a_n_s _o_f
                                 _i_n_i_t_i_a_t_i_n_g _a _d_r_a_g _o_p_e_r_a_t_i_o_n.

             _ _ _66--77::            When a drag is initiated in
                                 an unselected region and the
                                 pointer is over two possible
                                 draggable elements, the drag
                                 uses the highest draggable
                                 element in the stacking
                                 order (Section 4.2.1.1).

                                 _T_h_i_s _g_u_i_d_e_l_i_n_e _e_n_s_u_r_e_s _t_h_e
                                 _c_o_n_s_i_s_t_e_n_c_y _o_f _d_r_a_g
                                 _o_p_e_r_a_t_i_o_n_s.

             _ _ _66--88::            If your application uses
                                 BBSSeelleecctt for dragging
                                 operations, its use
                                 supersedes the use of
                                 BBSSeelleecctt MMoottiioonn for selection
                                 (Section 4.2.1.1).

                                 BBSSeelleecctt MMoottiioonn _c_a_n _o_n_l_y _b_e
                                 _u_s_e_d _f_o_r _a _s_i_n_g_l_e _o_p_e_r_a_t_i_o_n.

             _ _ _66--99::            The use of BBTTrraannssffeerr for
                                 drag-and-drop interactions
                                 supersedes its use for quick
                                 transfer (Section 4.2.1.1).

                                 BBTTrraannssffeerr _c_a_n _o_n_l_y _b_e _u_s_e_d
                                 _f_o_r _a _s_i_n_g_l_e _o_p_e_r_a_t_i_o_n.

             _ _ 66_--1100::            When your application starts
                                 a drag operation, the
                                 pointer is replaced with a
                                 drag icon (Section 4.2.1.1).

                                 _A _d_r_a_g _i_c_o_n _p_r_o_v_i_d_e_s _v_i_s_u_a_l
                                 _f_e_e_d_b_a_c_k _t_h_a_t _a _d_r_a_g
                                 _o_p_e_r_a_t_i_o_n _i_s _i_n _p_r_o_g_r_e_s_s.

             _ _ 66_--1111::            All drag icons used by your
                                 application include a source
                                 indicator (Sections 4.2.1.1,



        May 8, 1992                                             B-63








        OSF/Motif Style Guide


                                 6.2.5.1).

                                 _A _s_o_u_r_c_e _i_n_d_i_c_a_t_o_r _g_i_v_e_s _a
                                 _v_i_s_u_a_l _r_e_p_r_e_s_e_n_t_a_t_i_o_n _o_f _t_h_e
                                 _p_r_i_m_a_r_y _d_a_t_a _t_y_p_e _o_f _t_h_e
                                 _d_r_a_g_g_a_b_l_e _e_l_e_m_e_n_t.

             _ _ 66_--1122::            Any successful drag-and-drop
                                 transfer from a read-only
                                 component results in the
                                 data being copied to the
                                 destination (Sections
                                 4.2.1.2, 6.2.5.4).

                                 _A _c_o_p_y _o_p_e_r_a_t_i_o_n _d_o_e_s _n_o_t
                                 _m_o_d_i_f_y _t_h_e _c_o_n_t_e_n_t_s _o_f _t_h_e
                                 _s_o_u_r_c_e.

             _ _ 66_--1133::            Your application allows a
                                 user to force a move, copy
                                 or link drag-and-drop
                                 transfer using modifier keys
                                 in conjunction with the
                                 BBTTrraannssffeerr actions (Section
                                 4.2.1.2).

                                 _U_s_e_r_s _w_a_n_t _t_o _h_a_v_e _c_o_n_t_r_o_l
                                 _o_v_e_r _t_h_e _t_y_p_e _o_f _d_r_a_g-_a_n_d-
                                 _d_r_o_p _o_p_e_r_a_t_i_o_n _b_e_i_n_g
                                 _p_e_r_f_o_r_m_e_d.

             _ _ 66_--1144::            Your application uses
                                 <<SShhiifftt>> BBTTrraannssffeerr RReelleeaassee to
                                 force a move operation.  If
                                 a move is not possible, the
                                 operation fails (Section
                                 4.2.1.2).

                                 _T_h_i_s _m_e_c_h_a_n_i_s_m _o_f_f_e_r_s _a
                                 _c_o_n_v_e_n_i_e_n_t _w_a_y _f_o_r _t_h_e _u_s_e_r
                                 _t_o _f_o_r_c_e _a _m_o_v_e _o_p_e_r_a_t_i_o_n.

             _ _ 66_--1155::            Your application uses <<CCttrrll>>
                                 BBTTrraannssffeerr RReelleeaassee to force a
                                 copy operation.  If a copy
                                 is not possible, the
                                 operation fails (Section
                                 4.2.1.2).

                                 _T_h_i_s _m_e_c_h_a_n_i_s_m _o_f_f_e_r_s _a
                                 _c_o_n_v_e_n_i_e_n_t _w_a_y _f_o_r _t_h_e _u_s_e_r



        B-64                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                                 _t_o _f_o_r_c_e _a _c_o_p_y _o_p_e_r_a_t_i_o_n.

             _ _ 66_--1166::            Your application uses <<CCttrrll>>
                                 <<SShhiifftt>> BBTTrraannssffeerr RReelleeaassee to
                                 force a link operation.  If
                                 a link is not possible, the
                                 operation fails (Section
                                 4.2.1.2).

                                 _T_h_i_s _m_e_c_h_a_n_i_s_m _o_f_f_e_r_s _a
                                 _c_o_n_v_e_n_i_e_n_t _w_a_y _f_o_r _t_h_e _u_s_e_r
                                 _t_o _f_o_r_c_e _a _l_i_n_k _o_p_e_r_a_t_i_o_n.

             _ _ 66_--1177::            Releasing BBTTrraannssffeerr ends a
                                 drag-and-drop operation
                                 (Section 4.2.1.3).

                                 _R_e_l_e_a_s_i_n_g BBTTrraannssffeerr _o_f_f_e_r_s _a
                                 _c_o_n_s_i_s_t_e_n_t _m_e_a_n_s _o_f _e_n_d_i_n_g _a
                                 _d_r_a_g _o_p_e_r_a_t_i_o_n.

             _ _ 66_--1188::            Pressing <<CCaanncceell>> ends a
                                 drag-and-drop operation by
                                 canceling the drag in
                                 progress (Section 4.2.1.3).

                                 <<CCaanncceell>>  _p_r_o_v_i_d_e_s _a
                                 _c_o_n_s_i_s_t_e_n_t _w_a_y _f_o_r _t_h_e _u_s_e_r
                                 _t_o _c_a_n_c_e_l _a _d_r_a_g _o_p_e_r_a_t_i_o_n.

             _ _ 66_--1199::            If your application provides
                                 any drag-and-drop help
                                 DialogBoxes, they contain a
                                 Cancel button for canceling
                                 the drag-and-drop operation
                                 in progress (Section
                                 6.2.5.5).

                                 The Cancel button in the
                                 help DialogBox provides a
                                 convenient way for the user
                                 to cancel a drag-and-drop
                                 operation.

             _ _ 66_--2200::            When BBTTrraannssffeerr is released,
                                 the drop operation occurs at
                                 the location of the hot spot
                                 of the drag icon pointer and
                                 into the highest drop site
                                 in the stacking order
                                 (Section 4.2.1.3).



        May 8, 1992                                             B-65








        OSF/Motif Style Guide


                                 _T_h_i_s _g_u_i_d_e_l_i_n_e _e_n_s_u_r_e_s _t_h_e
                                 _c_o_n_s_i_s_t_e_n_c_y _o_f _d_r_o_p
                                 _o_p_e_r_a_t_i_o_n_s.

             _ _ 66_--2211::            After a successful transfer,
                                 the data is placed in the
                                 drop site and any transfer
                                 icon used by your
                                 application is removed
                                 (Section 4.2.1.4).

                                 _A _t_r_a_n_s_f_e_r _i_c_o_n _c_a_n _b_e _u_s_e_d
                                 _t_o _r_e_p_r_e_s_e_n_t _t_h_e _t_y_p_e _o_f
                                 _d_a_t_a _b_e_i_n_g _t_r_a_n_s_f_e_r_r_e_d
                                 _d_u_r_i_n_g _a _d_r_o_p _o_p_e_r_a_t_i_o_n.  _A
                                 _s_u_c_c_e_s_s_f_u_l _d_r_o_p _o_p_e_r_a_t_i_o_n
                                 _r_e_s_u_l_t_s _i_n _t_h_e _t_r_a_n_s_f_e_r _o_f
                                 _d_a_t_a.

             _ _ 66_--2222::            During a move transfer, data
                                 is first copied to the drop
                                 site and then deleted from
                                 the drag source.  Data is
                                 not removed from the source
                                 until the transfer of data
                                 has been completed
                                 successfully (Sections
                                 4.2.1.4, 6.2.5.4).

                                 _T_h_i_s _g_u_i_d_e_l_i_n_e _p_r_o_t_e_c_t_s
                                 _a_g_a_i_n_s_t _t_h_e _l_o_s_s _o_f _d_a_t_a
                                 _f_r_o_m _a _f_a_i_l_e_d _d_r_o_p
                                 _o_p_e_r_a_t_i_o_n.

             _ _ 66_--2233::            After a failed transfer, the
                                 data remains at the drag
                                 source and is not placed in
                                 the drop site.  Any transfer
                                 icon used by your
                                 application is removed
                                 (Section 4.2.1.4).

                                 _A _f_a_i_l_e_d _d_r_o_p _o_p_e_r_a_t_i_o_n _d_o_e_s
                                 _n_o_t _r_e_s_u_l_t _i_n _t_h_e _t_r_a_n_s_f_e_r
                                 _o_f _d_a_t_a.

             _ _ 66_--2244::            When possible, the drag
                                 source transfers the data in
                                 the format that the drop
                                 site requests (Section
                                 4.2.1.4).



        B-66                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                                 _T_h_e _d_r_o_p _s_i_t_e _h_a_s _c_o_n_t_r_o_l
                                 _o_v_e_r _t_h_e _f_o_r_m_a_t _o_f _t_h_e _d_a_t_a
                                 _t_h_a_t _i_t _r_e_c_e_i_v_e_s.

             _ _ 66_--2255::            If a drop site decides that
                                 a transfer of data in its
                                 chosen format could cause a
                                 loss of data between the
                                 source and the destination,
                                 the drop site notifies the
                                 user of the possible loss of
                                 data and requests
                                 confirmation before
                                 proceeding (Sections
                                 4.2.1.4, 6.2.5.6).

                                 _T_h_i_s _g_u_i_d_e_l_i_n_e _g_u_a_r_d_s
                                 _a_g_a_i_n_s_t _t_h_e _a_c_c_i_d_e_n_t_a_l _l_o_s_s
                                 _o_f _d_a_t_a _d_u_r_i_n_g _a _d_r_a_g-_a_n_d-
                                 _d_r_o_p _o_p_e_r_a_t_i_o_n.

             _ _ 66_--2266::            If multiple transfer formats
                                 are acceptable in the drop
                                 site and your application
                                 allows the user to choose
                                 the correct transfer format
                                 through a DialogBox, the
                                 DialogBox provides a choice
                                 of all of the available
                                 transfer formats.  If the
                                 DialogBox uses a RadioBox to
                                 present the choices, the
                                 DialogBox includes an OK
                                 button.  The DialogBox
                                 always contains a Cancel
                                 button for canceling the
                                 drag-and-drop operation
                                 (Section 6.2.5.6).

                                 _T_h_e _u_s_e_r _n_e_e_d_s _t_o _b_e _a_b_l_e _t_o
                                 _c_h_o_o_s_e _f_r_o_m _a_l_l _o_f _t_h_e
                                 _a_v_a_i_l_a_b_l_e _o_p_t_i_o_n_s _a_n_d _c_a_n_c_e_l
                                 _t_h_e _o_p_e_r_a_t_i_o_n _i_f _d_e_s_i_r_e_d.











        May 8, 1992                                             B-67








        OSF/Motif Style Guide


        B.6.2  PPrriimmaarryy SSeelleeccttiioonn




             NNoottee::  Your application is very likely to
                    comply with the PPrriimmaarryy SSeelleeccttiioonn
                    section of the Checklist if:

                       +o it is based on a Motif
                         Toolkit with Level Two
                         validation,

                       +o it does not use any event
                         handlers to redirect keyboard
                         or pointer events,

                       +o it uses only widgets provided
                         by OSF in the OSF/Motif
                         widget set, and

                       +o it uses the default widget
                         translations and the default
                         settings of the following
                         widget resources:

                            - XXmmNNttrraannssllaattiioonnss


             YYeess NN//AA NNoo

             _ _ 66_--2277::            Your application uses
                                 BBTTrraannssffeerr to paste the
                                 primary selection to the
                                 position of the pointer and
                                 to set the location cursor
                                 there.  The paste operation
                                 is either a move or a copy
                                 operation, based on the
                                 following rules, unless the
                                 rules are customized by the
                                 user (Section 4.2.2):

                                    +o Pasting from a
                                      noneditable component
                                      is treated as a copy.

                                    +o Pasting to a transport
                                      device, such as a
                                      printer or a mailbox,
                                      is treated as a copy.



        B-68                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                                    +o Pasting to a removal
                                      device, such as a
                                      wastebasket or a
                                      shredder, is treated as
                                      a move.

                                    +o Pasting text to or from
                                      a text collection is
                                      treated as a copy.

                                    +o In other cases the
                                      operation is treated as
                                      a move.

                                 _T_h_e_s_e _r_u_l_e_s _e_n_s_u_r_e _t_h_e
                                 _c_o_n_s_i_s_t_e_n_c_y _o_f _p_r_i_m_a_r_y _p_a_s_t_e
                                 _o_p_e_r_a_t_i_o_n_s _a_c_r_o_s_s
                                 _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ 66_--2288::            Your application uses <<CCttrrll>>
                                 BBTTrraannssffeerr to perform a copy
                                 operation (Section 4.2.2).

                                 <<CCttrrll>> BBTTrraannssffeerr _p_r_o_v_i_d_e_s _a
                                 _c_o_n_v_e_n_i_e_n_t _w_a_y _f_o_r _t_h_e _u_s_e_r
                                 _t_o _f_o_r_c_e _a _c_o_p_y _o_p_e_r_a_t_i_o_n.

             _ _ 66_--2299::            Your application uses <<AAlltt>>
                                 BBTTrraannssffeerr to perform a move
                                 operation (Section 4.2.2).

                                 <<CCttrrll>> BBTTrraannssffeerr _o_f_f_e_r_s _a
                                 _c_o_n_v_e_n_i_e_n_t _w_a_y _f_o_r _t_h_e _u_s_e_r
                                 _t_o _f_o_r_c_e _a _m_o_v_e _o_p_e_r_a_t_i_o_n.

             _ _ 66_--3300::            Keyboard-based primary
                                 transfer, using <<AAlltt>> <<CCooppyy>>
                                 or <<AAlltt>> <<CCttrrll>> <<IInnsseerrtt>> for
                                 keyboard-based copying and
                                 <<AAlltt>> <<CCuutt>> or <<AAlltt>> <<SShhiifftt>>
                                 <<DDeelleettee>> for keyboard-based
                                 cutting, behave like mouse-
                                 based primary transfer,
                                 except that the primary
                                 selection is pasted at the
                                 position of the location
                                 cursor instead of the
                                 position of the pointer
                                 (Section 4.2.2).

                                 _T_h_e_s_e _k_e_y_s _p_r_o_v_i_d_e _a



        May 8, 1992                                             B-69








        OSF/Motif Style Guide


                                 _c_o_n_s_i_s_t_e_n_t _m_e_a_n_s _o_f
                                 _p_e_r_f_o_r_m_i_n_g _p_r_i_m_a_r_y _t_r_a_n_s_f_e_r
                                 _o_p_e_r_a_t_i_o_n_s _u_s_i_n_g _t_h_e
                                 _k_e_y_b_o_a_r_d.



        B.6.3  QQuuiicckk TTrraannssffeerr




             NNoottee::  If your application supports the
                    drag-and-drop model in a
                    collection, it does not have to
                    support quick transfer in that
                    collection.  The following
                    requirements only apply when quick
                    transfer is supported.



             NNoottee::  Your application is very likely to
                    comply with the QQuuiicckk TTrraannssffeerr
                    section of the Checklist if:

                       +o it is based on a Motif
                         Toolkit with Level Two
                         validation,

                       +o it does not use any event
                         handlers to redirect keyboard
                         or pointer events,

                       +o it uses only widgets provided
                         by OSF in the OSF/Motif
                         widget set, and

                       +o it uses the default widget
                         translations and the default
                         settings of the following
                         widget resources:

                            - XXmmNNttrraannssllaattiioonnss

                            - XXmmNNppeennddiinnggDDeelleettee


             YYeess NN//AA NNoo





        B-70                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


             _ _ 66_--3311::            Quick transfer does not
                                 disturb the primary
                                 selection or affect the
                                 clipboard, except when the
                                 destination of the transfer
                                 is in or on the boundaries
                                 of the primary selection.
                                 In this case, quick transfer
                                 deletes the contents of the
                                 primary selection, leaving a
                                 null primary selection,
                                 before pasting the
                                 transferred elements
                                 (Section 4.2.3).

                                 _Q_u_i_c_k _t_r_a_n_s_f_e_r _i_s _a
                                 _s_e_c_o_n_d_a_r_y _s_e_l_e_c_t_i_o_n
                                 _m_e_c_h_a_n_i_s_m, _s_o _i_t _c_a_n_n_o_t
                                 _d_i_s_r_u_p_t _t_h_e _p_r_i_m_a_r_y
                                 _s_e_l_e_c_t_i_o_n _m_e_c_h_a_n_i_s_m.  _W_h_e_n
                                 _t_h_e _d_e_s_t_i_n_a_t_i_o_n _o_f _t_h_e
                                 _t_r_a_n_s_f_e_r _i_s _i_n _t_h_e _p_r_i_m_a_r_y
                                 _s_e_l_e_c_t_i_o_n, _a _q_u_i_c_k _t_r_a_n_s_f_e_r
                                 _w_o_u_l_d _d_i_s_t_u_r_b _t_h_e _p_r_i_m_a_r_y
                                 _s_e_l_e_c_t_i_o_n, _s_o _t_h_e _p_r_i_m_a_r_y
                                 _s_e_l_e_c_t_i_o_n _i_s _d_e_l_e_t_e_d.

             _ _ 66_--3322::            Your application uses
                                 BBTTrraannssffeerr to make a quick
                                 transfer selection.
                                 BBTTrraannssffeerr MMoottiioonn selects all
                                 of the elements between the
                                 place where BBTTrraannssffeerr is
                                 pressed and released, and
                                 either moves or copies the
                                 elements to the position of
                                 the location cursor in the
                                 destination component,
                                 except if the collection has
                                 a fixed insertion point
                                 (Section 4.2.3).

                                 BBTTrraannssffeerr MMoottiioonn _p_r_o_v_i_d_e_s _a
                                 _c_o_n_s_i_s_t_e_n_t _m_e_a_n_s _o_f
                                 _p_e_r_f_o_r_m_i_n_g _a _q_u_i_c_k _t_r_a_n_s_f_e_r
                                 _o_p_e_r_a_t_i_o_n.

             _ _ 66_--3333::            A quick transfer operation
                                 performs a cut or a copy
                                 based on the following
                                 rules, unless the rules are



        May 8, 1992                                             B-71








        OSF/Motif Style Guide


                                 customized by the user
                                 (Section 4.2.3):

                                    +o Transferring from a
                                      noneditable component
                                      is treated as a copy.

                                    +o Transferring to a
                                      transport device, such
                                      as a printer or a
                                      mailbox, is treated as
                                      a copy.

                                    +o Transferring to a
                                      removal device, such as
                                      a wastebasket or a
                                      shredder, is treated as
                                      a move.

                                    +o Transferring text to or
                                      from a text-like
                                      collection is treated
                                      as a copy.

                                    +o In other cases, the
                                      operation is treated as
                                      a move.

                                 _T_h_e_s_e _r_u_l_e_s _e_n_s_u_r_e
                                 _i_n_t_e_r_a_p_p_l_i_c_a_t_i_o_n _c_o_n_s_i_s_t_e_n_c_y
                                 _o_f _q_u_i_c_k _t_r_a_n_s_f_e_r
                                 _o_p_e_r_a_t_i_o_n_s.

             _ _ 66_--3344::            Your application uses <<CCttrrll>>
                                 BBTTrraannssffeerr MMoottiioonn to perform
                                 a quick copy operation
                                 (Section 4.2.3).

                                 <<CCttrrll>> BBTTrraannssffeerr _p_r_o_v_i_d_e_s _a
                                 _c_o_n_v_e_n_i_e_n_t _w_a_y _f_o_r _t_h_e _u_s_e_r
                                 _t_o _f_o_r_c_e _a _c_o_p_y _o_p_e_r_a_t_i_o_n.

             _ _ 66_--3355::            Your application uses <<AAlltt>>
                                 BBTTrraannssffeerr MMoottiioonn to perform
                                 a quick move operation
                                 (Section 4.2.3).

                                 <<AAlltt>> BBTTrraannssffeerr _o_f_f_e_r_s _a
                                 _c_o_n_v_e_n_i_e_n_t _w_a_y _f_o_r _t_h_e _u_s_e_r
                                 _t_o _f_o_r_c_e _a _m_o_v_e _o_p_e_r_a_t_i_o_n.




        B-72                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


        B.6.4  CClliippbbooaarrdd SSeelleeccttiioonn AAccttiioonnss



             YYeess NN//AA NNoo

             _ _ 66_--3366::            Keyboard-based clipboard
                                 selection actions are
                                 available in every editable
                                 collection in your
                                 application (Section 4.2.4).

                                 _C_l_i_p_b_o_a_r_d _s_e_l_e_c_t_i_o_n _a_c_t_i_o_n_s
                                 _n_e_e_d _t_o _b_e _a_v_a_i_l_a_b_l_e _f_r_o_m
                                 _t_h_e _k_e_y_b_o_a_r_d.

             _ _ 66_--3377::            In editable list-like and
                                 graphics-like collections in
                                 your application, <<DDeelleettee>>
                                 and <<BBaacckkSSppaaccee>> delete the
                                 selected elements (Section
                                 4.2.4).

                                 <<DDeelleettee>> _a_n_d <<BBaacckkSSppaaccee>>
                                 _p_r_o_v_i_d_e _a _c_o_n_s_i_s_t_e_n_t _m_e_a_n_s
                                 _o_f _d_e_l_e_t_i_n_g _t_h_e _s_e_l_e_c_t_i_o_n.


             NNoottee::  Your application is very likely to
                    comply with the rest of the
                    CClliippbbooaarrdd SSeelleeccttiioonn AAccttiioonnss
                    section of the Checklist if:

                       +o it is based on a Motif
                         Toolkit with Level Two
                         validation,

                       +o it does not use any event
                         handlers to redirect keyboard
                         or pointer events,

                       +o it uses only widgets provided
                         by OSF in the OSF/Motif
                         widget set, and

                       +o it uses the default widget
                         translations and the default
                         settings of the following
                         widget resources:





        May 8, 1992                                             B-73








        OSF/Motif Style Guide


                            - XXmmNNttrraannssllaattiioonnss


             _ _ 66_--3388::            In editable text-like
                                 collections in your
                                 application, when the cursor
                                 is in or on the boundary of
                                 a nonnull selection,
                                 <<DDeelleettee>> and <<BBaacckkSSppaaccee>>
                                 delete the selection
                                 (Section 4.2.4).

                                 _W_h_e_n _t_h_e _l_o_c_a_t_i_o_n _c_u_r_s_o_r _i_s
                                 _i_n _a _s_e_l_e_c_t_i_o_n, <<DDeelleettee>> _a_n_d
                                 <<BBaacckkSSppaaccee>> _p_r_o_v_i_d_e _a
                                 _c_o_n_v_e_n_i_e_n_t _w_a_y _t_o _d_e_l_e_t_e _t_h_e
                                 _e_n_t_i_r_e _s_e_l_e_c_t_i_o_n.

             _ _ 66_--3399::            In text-like collections in
                                 your application, when the
                                 selection is null, pending
                                 deletion is disabled, or
                                 when in add mode with the
                                 cursor disjointed from the
                                 selection, <<DDeelleettee>> deletes
                                 one character forward and
                                 <<BBaacckkSSppaaccee>> deletes one
                                 character backward (Section
                                 4.2.4).

                                 _W_h_e_n _t_h_e _s_e_l_e_c_t_i_o_n _i_s _n_u_l_l,
                                 <<DDeelleettee>> _a_n_d <<BBaacckkSSppaaccee>>
                                 _d_e_l_e_t_e _s_i_n_g_l_e _c_h_a_r_a_c_t_e_r_s.

             _ _ 66_--4400::            Your application uses <<CCuutt>>
                                 or <<SShhiifftt>> <<DDeelleettee>> and the
                                 Cut entry on the EEddiitt Menu
                                 to cut the selected elements
                                 from an editable component
                                 to the clipboard (Section
                                 4.2.4).

                                 <<CCuutt>> _o_r <<SShhiifftt>> <<DDeelleettee>>
                                 _a_n_d _t_h_e _C_u_t _e_n_t_r_y _o_n _t_h_e
                                 EEddiitt Menu offer a consistent
                                 means of cutting the
                                 selection to the clipboard
                                 from the keyboard.

             _ _ 66_--4411::            The cut operation cuts the
                                 selection from a component



        B-74                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                                 according to the following
                                 rules (Section 4.2.4):

                                    +o If the location cursor
                                      is in an editable
                                      component, the cut
                                      operation cuts the
                                      selection from that
                                      editable component to
                                      the clipboard.

                                    +o Otherwise, within a
                                      window that has a
                                      destination component
                                      with a selection that
                                      does not go away when
                                      the focus leaves the
                                      component, the cut
                                      operation cuts the
                                      selection from that
                                      destination component
                                      to the clipboard.

                                    +o Otherwise, within a
                                      window with the primary
                                      selection, the cut
                                      operation cuts the
                                      primary selection to
                                      the clipboard.

                                 _T_h_e_s_e _r_u_l_e_s _e_n_s_u_r_e _t_h_e
                                 _c_o_n_s_i_s_t_e_n_c_y _o_f _c_u_t
                                 _o_p_e_r_a_t_i_o_n_s _a_c_r_o_s_s
                                 _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ 66_--4422::            A Cut entry on a Popup Menu
                                 only cuts the selection to
                                 the clipboard from the
                                 component in which the Menu
                                 is invoked and only if the
                                 component is editable
                                 (Section 4.2.4).

                                 _I_t_e_m_s _o_n _a _P_o_p_u_p _M_e_n_u _o_n_l_y
                                 _a_p_p_l_y _w_i_t_h_i_n _t_h_e _c_o_m_p_o_n_e_n_t
                                 _t_h_a_t _p_o_s_t_e_d _t_h_e _M_e_n_u.

             _ _ 66_--4433::            Your application uses <<CCooppyy>>
                                 or <<CCttrrll>> <<IInnsseerrtt>> and the
                                 Copy entry on the EEddiitt Menu
                                 to copy the selected



        May 8, 1992                                             B-75








        OSF/Motif Style Guide


                                 elements to the clipboard
                                 (Section 4.2.4).

                                 <<CCooppyy>> _o_r <<CCttrrll>> <<IInnsseerrtt>>
                                 _a_n_d _t_h_e _C_o_p_y _e_n_t_r_y _o_n _t_h_e
                                 _E_d_i_t _M_e_n_u _o_f_f_e_r _a _c_o_n_s_i_s_t_e_n_t
                                 _m_e_a_n_s _o_f _c_u_t_t_i_n_g _t_h_e
                                 _s_e_l_e_c_t_i_o_n _t_o _t_h_e _c_l_i_p_b_o_a_r_d
                                 _f_r_o_m _t_h_e _k_e_y_b_o_a_r_d.

             _ _ 66_--4444::            The copy operation copies
                                 the selection from a
                                 component according to the
                                 following rules (Section
                                 4.2.4):

                                    +o If the location cursor
                                      is in an editable
                                      component, the copy
                                      operation copies the
                                      selection from that
                                      editable component to
                                      the clipboard.

                                    +o Otherwise, within a
                                      window that has a
                                      destination component
                                      with a selection that
                                      does not go away when
                                      the focus leaves the
                                      component, the copy
                                      operation copies the
                                      selection from that
                                      destination component
                                      to the clipboard.

                                    +o Otherwise, within a
                                      window with the primary
                                      selection, the copy
                                      operation copies the
                                      primary selection to
                                      the clipboard.

                                 _T_h_e_s_e _r_u_l_e_s _e_n_s_u_r_e _t_h_e
                                 _c_o_n_s_i_s_t_e_n_c_y _o_f _c_o_p_y
                                 _o_p_e_r_a_t_i_o_n_s _a_c_r_o_s_s
                                 _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ 66_--4455::            A Copy entry on a Popup Menu
                                 only copies the selection to
                                 the clipboard from the



        B-76                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                                 component in which the Menu
                                 is invoked (Section 4.2.4).

                                 _I_t_e_m_s _o_n _a _P_o_p_u_p _M_e_n_u _o_n_l_y
                                 _a_p_p_l_y _w_i_t_h_i_n _t_h_e _c_o_m_p_o_n_e_n_t
                                 _t_h_a_t _p_o_s_t_e_d _t_h_e _M_e_n_u.

             _ _ 66_--4466::            Your application uses
                                 <<PPaassttee>> or <<SShhiifftt>> <<IInnsseerrtt>>
                                 to paste the contents of the
                                 clipboard into an editable
                                 component.  These keys
                                 function according to the
                                 following rules (Section
                                 4.2.4):

                                    +o If the location cursor
                                      is in an editable
                                      component, <<PPaassttee>> or
                                      <<SShhiifftt>> <<IInnsseerrtt>> or
                                      selecting Paste from
                                      the EEddiitt Menu pastes
                                      the contents of the
                                      clipboard to the cursor
                                      location within that
                                      component.

                                    +o If the location cursor
                                      is not in an editable
                                      component, but it is in
                                      the same window as the
                                      destination component,
                                      and that window
                                      contains an EEddiitt Menu,
                                      <<PPaassttee>> or <<SShhiifftt>>
                                      <<IInnsseerrtt>> or selecting
                                      Paste from the EEddiitt
                                      Menu pastes the
                                      contents of the
                                      clipboard to the cursor
                                      location within that
                                      component.

                                    +o If a window contains
                                      only a single editable
                                      component and has an
                                      EEddiitt Menu, <<PPaassttee>> or
                                      <<SShhiifftt>> <<IInnsseerrtt>> or
                                      selecting Paste from
                                      the EEddiitt Menu pastes
                                      the contents of the



        May 8, 1992                                             B-77








        OSF/Motif Style Guide


                                      clipboard to the cursor
                                      location within that
                                      component.

                                    +o If there is a nonnull
                                      primary selection
                                      outside of the
                                      destination, the
                                      contents of the
                                      clipboard does not
                                      become selected after
                                      it is pasted.

                                    +o <<PPaassttee>> or <<SShhiifftt>>
                                      <<IInnsseerrtt>> or selecting
                                      Paste from the EEddiitt
                                      Menu in any situation
                                      that is not discussed
                                      in Section 3.2.4 of the
                                      _O_S_F/_M_o_t_i_f _S_t_y_l_e _G_u_i_d_e
                                      _R_e_v_i_s_i_o_n _1._2 has no
                                      effect, except to
                                      signal failure.

                                 <<PPaassttee>> _o_r <<SShhiifftt>> <<IInnsseerrtt>>
                                 _o_f_f_e_r_s _a _c_o_n_s_i_s_t_e_n_t _w_a_y _o_f
                                 _p_a_s_t_i_n_g _t_h_e _c_o_n_t_e_n_t_s _o_f _t_h_e
                                 _c_l_i_p_b_o_a_r_d _f_r_o_m _t_h_e _k_e_y_b_o_a_r_d.



        B.7  AAccttiivvaattiioonn






        B.7.1  BBaassiicc AAccttiivvaattiioonn




             NNoottee::  Your application is very likely to
                    comply with the BBaassiicc AAccttiivvaattiioonn
                    section of the Checklist if:

                       +o it is based on a Motif
                         Toolkit with Level Two
                         validation,




        B-78                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                       +o it does not use any event
                         handlers to redirect keyboard
                         or pointer events,

                       +o it uses only widgets provided
                         by OSF in the OSF/Motif
                         widget set, and

                       +o it uses the default widget
                         translations and the default
                         settings of the following
                         widget resources:

                            - XXmmNNttrraannssllaattiioonnss


             YYeess NN//AA NNoo

             _ _ _77--11::            Your application uses
                                 BBSSeelleecctt to activate a button
                                 (Section 5.1).

                                 BBSSeelleecctt, _t_h_e _f_i_r_s_t _m_o_u_s_e
                                 _b_u_t_t_o_n, _p_r_o_v_i_d_e_s _a
                                 _c_o_n_s_i_s_t_e_n_t _m_e_a_n_s _o_f
                                 _a_c_t_i_v_a_t_i_n_g _a _b_u_t_t_o_n _u_s_i_n_g
                                 _t_h_e _m_o_u_s_e.

             _ _ _77--22::            When BBSSeelleecctt is pressed over
                                 a button, the appearance of
                                 the button changes to
                                 indicate that releasing
                                 BBSSeelleecctt will activate the
                                 button.  If while BBSSeelleecctt is
                                 pressed the pointer is moved
                                 outside of the button, the
                                 visual state is restored.
                                 If while BBSSeelleecctt is still
                                 pressed the pointer is moved
                                 back inside of the button,
                                 the visual state is again
                                 changed to indicate the
                                 pending activation.  If
                                 BBSSeelleecctt is pressed and
                                 released within a button,
                                 the button is activated,
                                 regardless of whether the
                                 pointer has moved out of the
                                 button while it was pressed
                                 (Section 5.1).




        May 8, 1992                                             B-79








        OSF/Motif Style Guide


                                 _T_h_e _v_i_s_u_a_l _s_t_a_t_e _o_f _a _b_u_t_t_o_n
                                 _o_f_f_e_r_s _a _c_u_e _t_o _t_h_e _u_s_e_r
                                 _a_b_o_u_t _w_h_e_t_h_e_r _o_r _n_o_t _t_h_e
                                 _b_u_t_t_o_n _w_i_l_l _b_e _a_c_t_i_v_a_t_e_d
                                 _w_h_e_n _t_h_e _m_o_u_s_e _b_u_t_t_o_n _i_s
                                 _r_e_l_e_a_s_e_d.

             _ _ _77--33::            Your application uses
                                 <<EEnntteerr>> or <<RReettuurrnn>> to
                                 activate the button with the
                                 location cursor (Section
                                 5.1).

                                 <<EEnntteerr>> _a_n_d <<RReettuurrnn>> _o_f_f_e_r _a
                                 _c_o_n_s_i_s_t_e_n_t _m_e_a_n_s _o_f
                                 _a_c_t_i_v_a_t_i_n_g _a _b_u_t_t_o_n _u_s_i_n_g
                                 _t_h_e _k_e_y_b_o_a_r_d.

             _ _ _77--44::            Your application uses
                                 <<SSeelleecctt>> or <<SSppaaccee>> to
                                 activate the button with the
                                 location cursor (Section
                                 5.1).

                                 <<SSeelleecctt>> _a_n_d <<SSppaaccee>> _p_r_o_v_i_d_e
                                 _a _u_n_i_f_o_r_m _w_a_y _o_f _s_e_l_e_c_t_i_n_g _a
                                 _b_u_t_t_o_n.  _S_e_l_e_c_t_i_n_g _a _b_u_t_t_o_n
                                 _i_s _e_q_u_i_v_a_l_e_n_t _t_o _a_c_t_i_v_a_t_i_n_g
                                 _t_h_e _b_u_t_t_o_n.



        B.7.2  TTeeaarrooffff AAccttiivvaattiioonn




             NNoottee::  Your application is very likely to
                    comply with the TTeeaarrooffff AAccttiivvaattiioonn
                    section of the Checklist if:

                       +o it is based on a Motif
                         Toolkit with Level Two
                         validation,

                       +o it does not use any event
                         handlers to redirect keyboard
                         or pointer events,

                       +o it uses only widgets provided
                         by OSF in the OSF/Motif



        B-80                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                         widget set, and

                       +o it uses the default widget
                         translations and the default
                         settings of the following
                         widget resources:

                            - XXmmNNttrraannssllaattiioonnss


             YYeess NN//AA NNoo

             _ _ _77--55::            If your application uses any
                                 TearoffButtons, they follow
                                 the basic activation model
                                 (Section 5.4).

                                 _A _T_e_a_r_o_f_f_B_u_t_t_o_n _i_s _l_i_k_e _a
                                 _P_u_s_h_B_u_t_t_o_n _w_i_t_h _t_h_e _s_p_e_c_i_a_l
                                 _i_n_t_e_r_a_c_t_i_o_n _o_f _t_e_a_r_i_n_g _o_f_f
                                 _t_h_e _M_e_n_u _f_r_o_m _i_t_s
                                 _C_a_s_c_a_d_e_B_u_t_t_o_n.
                                 _T_e_a_r_o_f_f_B_u_t_t_o_n_s _u_s_e _t_h_e _s_a_m_e
                                 _b_a_s_i_c _a_c_t_i_v_a_t_i_o_n _a_s _o_t_h_e_r
                                 _b_u_t_t_o_n_s.

             _ _ _77--66::            When a Menu with a
                                 TearoffButton is posted,
                                 pressing BBTTrraannssffeerr in the
                                 TearoffButton starts a
                                 tearoff action.  As long as
                                 BBTTrraannssffeerr is held, a
                                 representation of the Menu
                                 follows the movement of the
                                 pointer.  Releasing
                                 BBTTrraannssffeerr ends the tearoff
                                 action by unposting the Menu
                                 system, creating a new
                                 window at the current
                                 pointer location that
                                 contains the contents of the
                                 Menu, and giving focus to
                                 the new window in explicit
                                 pointer mode (Section 5.4).

                                 BBTTrraannssffeerr, the second mouse
                                 button, provides a
                                 consistent means of
                                 activating a TearoffButton.





        May 8, 1992                                             B-81








        OSF/Motif Style Guide


        B.7.3  HHeellpp AAccttiivvaattiioonn




             NNoottee::  Your application is very likely to
                    comply with the HHeellpp AAccttiivvaattiioonn
                    section of the Checklist if:

                       +o it is based on a Motif
                         Toolkit with Level Two
                         validation,

                       +o it does not use any event
                         handlers to redirect keyboard
                         or pointer events,

                       +o it uses only widgets provided
                         by OSF in the OSF/Motif
                         widget set, and

                       +o it uses the default widget
                         translations and the default
                         settings of the following
                         widget resources:

                            - XXmmNNttrraannssllaattiioonnss


             YYeess NN//AA NNoo

             _ _ _77--77::            Your application uses <<HHeellpp>>
                                 on a component to invoke any
                                 context-sensitive help for
                                 the component or its nearest
                                 ancestor with context-
                                 sensitive help available
                                 (Section 5.5).

                                 <<HHeellpp>> _o_f_f_e_r_s _t_h_e _u_s_e_r _a
                                 _c_o_n_s_i_s_t_e_n_t _m_e_c_h_a_n_i_s_m _f_o_r
                                 _i_n_v_o_k_i_n_g _c_o_n_t_e_x_t-_s_e_n_s_i_t_i_v_e
                                 _h_e_l_p.











        B-82                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


        B.7.4  EExxppeerrtt AAccttiivvaattiioonn



             YYeess NN//AA NNoo

             _ _ _77--88::            If your application supports
                                 expert activation, expert
                                 actions exist only as
                                 shortcuts to application
                                 features that are available
                                 through another mechanism
                                 (Section 5.7).

                                 _E_x_p_e_r_t _a_c_t_i_v_a_t_i_o_n, _u_s_i_n_g
                                 _m_o_u_s_e _d_o_u_b_l_e-_c_l_i_c_k_i_n_g _o_n
                                 _b_u_t_t_o_n_s, _p_r_o_v_i_d_e_s _a
                                 _c_o_n_v_e_n_i_e_n_t _w_a_y _f_o_r
                                 _e_x_p_e_r_i_e_n_c_e_d _u_s_e_r_s _t_o _p_e_r_f_o_r_m
                                 _c_e_r_t_a_i_n _t_a_s_k_s _q_u_i_c_k_l_y.
                                 _H_o_w_e_v_e_r, _n_e_w _u_s_e_r_s _a_n_d
                                 _k_e_y_b_o_a_r_d-_o_n_l_y _u_s_e_r_s _n_e_e_d _t_o
                                 _b_e _a_b_l_e _t_o _p_e_r_f_o_r_m _t_h_e _s_a_m_e
                                 _t_a_s_k_s.

             _ _ _77--99::            If a component with an
                                 expert action is selectable,
                                 activating the expert action
                                 first selects the component
                                 and then performs the expert
                                 action (Section 5.7).

                                 _A _u_s_e_r _n_e_e_d_s _t_o _b_e _a_b_l_e _t_o
                                 _s_e_l_e_c_t _a _c_o_m_p_o_n_e_n_t, _e_v_e_n _i_f
                                 _i_t _h_a_s _a_n _e_x_p_e_r_t _a_c_t_i_o_n
                                 _a_s_s_o_c_i_a_t_e_d _w_i_t_h _i_t.



        B.7.5  AAccttiivvaattiioonn PPrreevviieeww



             YYeess NN//AA NNoo

             _ _ 77_--1100::            If your application supports
                                 activation preview using
                                 BBSSeelleecctt, the previewing
                                 information is removed when
                                 the user releases BBSSeelleecctt
                                 (Section 5.8).



        May 8, 1992                                             B-83








        OSF/Motif Style Guide


                                 _A_c_t_i_v_a_t_i_o_n _p_r_e_v_i_e_w _p_r_e_s_e_n_t_s
                                 _t_h_e _u_s_e_r _w_i_t_h _a_d_d_i_t_i_o_n_a_l
                                 _i_n_f_o_r_m_a_t_i_o_n _t_h_a_t _d_e_s_c_r_i_b_e_s
                                 _t_h_e _e_f_f_e_c_t _o_f _a_c_t_i_v_a_t_i_n_g _a
                                 _b_u_t_t_o_n.  _T_h_i_s _i_n_f_o_r_m_a_t_i_o_n
                                 _c_a_n_n_o_t _i_n_t_e_r_f_e_r_e _w_i_t_h _t_h_e
                                 _n_o_r_m_a_l _o_p_e_r_a_t_i_o_n _o_f _t_h_e
                                 _a_p_p_l_i_c_a_t_i_o_n.



        B.7.6  CCaanncceell AAccttiivvaattiioonn



             YYeess NN//AA NNoo

             _ _ 77_--1111::            Pressing <<CCaanncceell>> stops the
                                 current interaction in the
                                 following contexts (Section
                                 5.9).

                                    +o During a drag
                                      operation, it cancels
                                      the drag operation.

                                    +o When the focus is in a
                                      torn off Menu window,
                                      it unposts the torn off
                                      Menu window.

                                    +o Anywhere in a DialogBox
                                      that has a Cancel
                                      PushButton, it is
                                      equivalent to
                                      activating that
                                      PushButton.

                                    +o During a mouse-based
                                      scrolling operation, it
                                      cancels the scrolling
                                      action and returns the
                                      system to its state
                                      prior to the start of
                                      the scrolling
                                      operation.

                                 _T_h_e_s_e _g_u_i_d_e_l_i_n_e_s _f_o_r
                                 <<CCaanncceell>> _e_n_s_u_r_e _t_h_e
                                 _c_o_n_s_i_s_t_e_n_t _o_p_e_r_a_t_i_o_n _o_f _t_h_e
                                 _k_e_y _a_c_r_o_s_s _a_p_p_l_i_c_a_t_i_o_n_s.



        B-84                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


        B.8  CCoommppoonneennttss






        B.8.1  CChheecckkBBuuttttoonn




             NNoottee::  Your application is very likely to
                    comply with the CChheecckkBBuuttttoonn
                    section of the Checklist if:

                       +o it is based on a Motif
                         Toolkit with Level Two
                         validation,

                       +o it does not use any event
                         handlers to redirect keyboard
                         or pointer events,

                       +o it uses only widgets provided
                         by OSF in the OSF/Motif
                         widget set, and

                       +o it uses the default widget
                         translations and the default
                         settings of the following
                         widget resources:

                            - XXmmNNiinnddiiccaattoorrOOnn

                            - XXmmNNttrraannssllaattiioonnss


             YYeess NN//AA NNoo

             _ _ _88--11::            If your application uses
                                 CheckButtons, each button
                                 graphically indicates its
                                 state (Chapter 9).

                                 _A _C_h_e_c_k_B_u_t_t_o_n _i_s _u_s_e_d _t_o
                                 _s_e_l_e_c_t _s_e_t_t_i_n_g_s _t_h_a_t _a_r_e _n_o_t
                                 _m_u_t_u_a_l_l_y _e_x_c_l_u_s_i_v_e.  _T_h_e
                                 _u_s_e_r _n_e_e_d_s _t_o _k_n_o_w _w_h_e_t_h_e_r
                                 _t_h_e _b_u_t_t_o_n _i_s _s_e_t _o_r _n_o_t.




        May 8, 1992                                             B-85








        OSF/Motif Style Guide


             _ _ _88--22::            When a CheckButton is
                                 activated using BBSSeelleecctt,
                                 <<EEnntteerr>>, <<RReettuurrnn>>, <<SSeelleecctt>>,
                                 or <<SSppaaccee>>, if the button
                                 was previously unset, it is
                                 set.  If the button was
                                 previously set, it is unset
                                 (Chapter 9).

                                 _C_h_e_c_k_B_u_t_t_o_n_s _t_o_g_g_l_e _b_e_t_w_e_e_n
                                 _t_h_e _s_e_t _s_t_a_t_e _a_n_d _t_h_e _u_n_s_e_t
                                 _s_t_a_t_e.



        B.8.2  CCoommmmaannddBBooxx




             NNoottee::  Your application is very likely to
                    comply with the CCoommmmaannddBBooxx section
                    of the Checklist if:

                       +o it is based on a Motif
                         Toolkit with Level Two
                         validation,

                       +o it does not use any event
                         handlers to redirect keyboard
                         or pointer events,

                       +o it uses only widgets provided
                         by OSF in the OSF/Motif
                         widget set, and

                       +o it uses the default widget
                         translations and the default
                         settings of the following
                         widget resources:

                            - XXmmNNttrraannssllaattiioonnss


             YYeess NN//AA NNoo

             _ _ _88--33::            If your application uses a
                                 CommandBox, it is composed
                                 of a Text component with a
                                 command line prompt for text
                                 input and a List component



        B-86                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                                 for a command history area.
                                 When a command is entered in
                                 the Text component, it is
                                 added to the end of the List
                                 component and made visible.
                                 This insertion does not
                                 change the state of the
                                 selection in the List if one
                                 exists (Chapter 9).

                                 _T_h_i_s _s_p_e_c_i_f_i_c_a_t_i_o_n _e_n_s_u_r_e_s
                                 _t_h_e _c_o_n_s_i_s_t_e_n_t _a_p_p_e_a_r_a_n_c_e
                                 _a_n_d _o_p_e_r_a_t_i_o_n _o_f _a
                                 _C_o_m_m_a_n_d_B_o_x _a_c_r_o_s_s
                                 _a_p_p_l_i_c_a_t_i_o_n_s.



        B.8.3  FFiilleeSSeelleeccttiioonnBBooxx




             NNoottee::  Your application is very likely to
                    comply with the FFiilleeSSeelleeccttiioonnBBooxx
                    section of the Checklist if:

                       +o it is based on a Motif
                         Toolkit with Level Two
                         validation,

                       +o it does not use any event
                         handlers to redirect keyboard
                         or pointer events,

                       +o it uses only widgets provided
                         by OSF in the OSF/Motif
                         widget set, and

                       +o it uses the default widget
                         translations and the default
                         settings of the following
                         widget resources:

                            - XXmmNNtteexxttAAcccceelleerraattoorrss

                            - XXmmNNttrraannssllaattiioonnss


             YYeess NN//AA NNoo




        May 8, 1992                                             B-87








        OSF/Motif Style Guide


             _ _ _88--44::            If your application uses a
                                 FileSelectionBox, it is
                                 composed of a Text component
                                 for displaying and editing a
                                 directory mask used to
                                 select files to be
                                 displayed, a List component
                                 for displaying file names, a
                                 List component for
                                 displaying subdirectories, a
                                 Text component for
                                 displaying and editing a
                                 filename, and a group of
                                 PushButtons, labeled "OK",
                                 "Filter", "Cancel", and
                                 "Help".  The directory mask
                                 is a string specifying the
                                 base directory to be
                                 examined and a search
                                 pattern (Chapter 9).

                                 _T_h_i_s _s_p_e_c_i_f_i_c_a_t_i_o_n _e_n_s_u_r_e_s
                                 _t_h_e _u_n_i_f_o_r_m _a_p_p_e_a_r_a_n_c_e _o_f _a
                                 _F_i_l_e_S_e_l_e_c_t_i_o_n_B_o_x _a_c_r_o_s_s
                                 _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ _88--55::            Your application allows the
                                 user to select a new
                                 directory to examine by
                                 scrolling through the List
                                 of directories and selecting
                                 the desired directory or by
                                 editing the directory mask.
                                 Selecting a new directory
                                 from the directory List does
                                 not change the search
                                 pattern (Chapter 9).

                                 _T_h_e _m_e_t_h_o_d _f_o_r _s_e_l_e_c_t_i_n_g _a
                                 _n_e_w _d_i_r_e_c_t_o_r_y _t_o _e_x_a_m_i_n_e
                                 _n_e_e_d_s _t_o _b_e _c_o_n_s_i_s_t_e_n_t
                                 _a_c_r_o_s_s _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ _88--66::            Your application allows the
                                 user to select a new search
                                 pattern by editing the
                                 directory mask.  BBSSeelleecctt
                                 CClliicckk 22, <<EEnntteerr>> or <<RReettuurrnn>>
                                 on a directory in the
                                 directory List initiates a
                                 search for files and



        B-88                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                                 subdirectories in the new
                                 directory using the current
                                 search pattern (Chapter 9).

                                 _T_h_e _m_e_t_h_o_d _f_o_r _s_p_e_c_i_f_y_i_n_g _a
                                 _n_e_w _s_e_a_r_c_h _p_a_t_t_e_r_n _a_n_d
                                 _s_t_a_r_t_i_n_g _a _s_e_a_r_c_h _f_o_r _f_i_l_e_s
                                 _n_e_e_d_s _t_o _b_e _u_n_i_f_o_r_m _a_c_r_o_s_s
                                 _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ _88--77::            Your application allows the
                                 user to select a file by
                                 scrolling through the List
                                 of filenames and selecting
                                 the desired file or by
                                 entering the filename
                                 directly into the file
                                 selection Text component.
                                 Selecting a file from the
                                 List causes that filename to
                                 appear in the file selection
                                 Text area (Chapter 9).

                                 _T_h_e _m_e_t_h_o_d _f_o_r _s_e_l_e_c_t_i_n_g _a
                                 _f_i_l_e _n_e_e_d_s _t_o _b_e _c_o_n_s_i_s_t_e_n_t
                                 _a_c_r_o_s_s _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ _88--88::            Your application allows the
                                 user to select a new file as
                                 many times as desired.  Your
                                 application does not make
                                 use of the selection until
                                 the "OK" PushButton is
                                 activated, <<EEnntteerr>> or
                                 <<RReettuurrnn>> is pressed while
                                 the Text component has the
                                 keyboard focus, <<EEnntteerr>> or
                                 <<RReettuurrnn>> is pressed while
                                 the location cursor is on an
                                 item in the file List, or
                                 BBSSeelleecctt is double-clicked on
                                 an item in the file List
                                 (Chapter 9).

                                 _T_h_i_s _s_p_e_c_i_f_i_c_a_t_i_o_n _r_e_s_u_l_t_s
                                 _i_n _t_h_e _u_n_i_f_o_r_m _o_p_e_r_a_t_i_o_n _o_f
                                 _a _F_i_l_e_S_e_l_e_c_t_i_o_n_B_o_x _a_c_r_o_s_s
                                 _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ _88--99::            The FileSelectionBox
                                 initiates a directory and



        May 8, 1992                                             B-89








        OSF/Motif Style Guide


                                 file search when the
                                 FileSelectionBox is
                                 initialized, the directory
                                 mask is changed, the user
                                 activates the "Filter"
                                 PushButton, the user
                                 double-clicks BBSSeelleecctt or
                                 presses <<EEnntteerr>> or <<RReettuurrnn>>
                                 on an item in the directory
                                 List, or the user presses
                                 <<EEnntteerr>> or <<RReettuurrnn>> while
                                 the directory mask Text edit
                                 area has the keyboard focus
                                 (Chapter 9).

                                 _T_h_i_s _s_p_e_c_i_f_i_c_a_t_i_o_n _e_n_s_u_r_e_s
                                 _t_h_e _c_o_n_s_i_s_t_e_n_t _o_p_e_r_a_t_i_o_n _o_f
                                 _a _d_i_r_e_c_t_o_r_y _a_n_d _f_i_l_e _s_e_a_r_c_h
                                 _i_n _a _F_i_l_e_S_e_l_e_c_t_i_o_n_B_o_x.



        B.8.4  LLiisstt




             NNoottee::  Your application is very likely to
                    comply with the LLiisstt section of
                    the Checklist if:

                       +o it is based on a Motif
                         Toolkit with Level Two
                         validation,

                       +o it does not use any event
                         handlers to redirect keyboard
                         or pointer events,

                       +o it uses only widgets provided
                         by OSF in the OSF/Motif
                         widget set, and

                       +o it uses the default widget
                         translations and the default
                         settings of the following
                         widget resources:

                            - XXmmNNttrraannssllaattiioonnss





        B-90                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


             YYeess NN//AA NNoo

             _ _ 88_--1100::            Within a List component,
                                 your application uses <<||^^>> to
                                 move the location cursor to
                                 the previous item in the
                                 List and <<||vv>> to move the
                                 location cursor to the next
                                 item in the List.  <<<<-->>
                                 scrolls the List one
                                 character to the left and
                                 <<-->>>> scrolls the List one
                                 character to the right
                                 (Chapter 9).

                                 _T_h_e _a_r_r_o_w _k_e_y_s _p_r_o_v_i_d_e _a
                                 _c_o_n_s_i_s_t_e_n_t _m_e_a_n_s _o_f _m_o_v_i_n_g
                                 _t_h_e _l_o_c_a_t_i_o_n _c_u_r_s_o_r _w_i_t_h_i_n _a
                                 _L_i_s_t _c_o_m_p_o_n_e_n_t.

             _ _ 88_--1111::            Within a List component,
                                 your application uses <<CCttrrll>>
                                 <<BBeeggiinn>> to move the location
                                 cursor to the first item in
                                 the List and <<CCttrrll>> <<EEnndd>> to
                                 move the location cursor to
                                 the last item in the List.
                                 <<BBeeggiinn>> moves the horizontal
                                 scroll region so that the
                                 leftmost edge of the List is
                                 visible and <<EEnndd>> moves the
                                 horizontal scroll region so
                                 that the rightmost edge of
                                 the List is visible (Chapter
                                 9).

                                 _T_h_e_s_e _k_e_y_s _o_f_f_e_r _a
                                 _c_o_n_v_e_n_i_e_n_t _m_e_c_h_a_n_i_s_m _f_o_r
                                 _m_o_v_i_n_g _t_h_e _l_o_c_a_t_i_o_n _c_u_r_s_o_r
                                 _q_u_i_c_k_l_y _t_h_r_o_u_g_h _a _L_i_s_t.

             _ _ 88_--1122::            Within a List component,
                                 your application uses
                                 BBSSeelleecctt CClliicckk 22 to initiate
                                 any default action for the
                                 List using the item that was
                                 double-clicked as the
                                 selection (Chapter 9).

                                 _D_o_u_b_l_e-_c_l_i_c_k_i_n_g _u_s_i_n_g
                                 BBSSeelleecctt provides a



        May 8, 1992                                             B-91








        OSF/Motif Style Guide


                                 consistent way of activating
                                 the default action for a
                                 List.



        B.8.5  OOppttiioonnBBuuttttoonn




             NNoottee::  Your application is very likely to
                    comply with the OOppttiioonnBBuuttttoonn
                    section of the Checklist if:

                       +o it is based on a Motif
                         Toolkit with Level Two
                         validation,

                       +o it does not use any event
                         handlers to redirect keyboard
                         or pointer events,

                       +o it uses only widgets provided
                         by OSF in the OSF/Motif
                         widget set, and

                       +o it uses the default widget
                         translations and the default
                         settings of the following
                         widget resources:

                            - XXmmNNttrraannssllaattiioonnss


             YYeess NN//AA NNoo

             _ _ 88_--1133::            If your application uses
                                 OptionButtons, the Label for
                                 the button is the last
                                 selection made from the
                                 OptionButton (Chapter 9).

                                 _A_n _O_p_t_i_o_n_B_u_t_t_o_n _i_s _u_s_e_d _t_o
                                 _p_o_s_t _a_n _O_p_t_i_o_n _M_e_n_u _w_h_i_c_h
                                 _a_l_l_o_w_s _t_h_e _u_s_e_r _t_o _s_e_l_e_c_t
                                 _f_r_o_m _a _n_u_m_b_e_r _o_f _c_h_o_i_c_e_s.
                                 _T_h_e _L_a_b_e_l _o_f _a_n _O_p_t_i_o_n_B_u_t_t_o_n
                                 _n_e_e_d_s _t_o _d_i_s_p_l_a_y _t_h_e _m_o_s_t
                                 _r_e_c_e_n_t _s_e_l_e_c_t_i_o_n _f_r_o_m _t_h_e
                                 _a_s_s_o_c_i_a_t_e_d _O_p_t_i_o_n _M_e_n_u.



        B-92                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


        B.8.6  PPaanneeddWWiinnddooww aanndd SSaasshh




             NNoottee::  Your application is very likely to
                    comply with the PPaanneeddWWiinnddooww aanndd
                    SSaasshh section of the Checklist if:

                       +o it is based on a Motif
                         Toolkit with Level Two
                         validation,

                       +o it does not use any event
                         handlers to redirect keyboard
                         or pointer events,

                       +o it uses only widgets provided
                         by OSF in the OSF/Motif
                         widget set, and

                       +o it uses the default widget
                         translations and the default
                         settings of the following
                         widget resources:

                            - XXmmNNrreeffiigguurreeMMooddee

                            - XXmmNNsseeppaarraattoorrOOnn

                            - XXmmNNsskkiippAAddjjuusstt

                            - XXmmNNttrraannssllaattiioonnss


             YYeess NN//AA NNoo

             _ _ 88_--1144::            If your application uses
                                 PanedWindows, they are
                                 composed of any number of
                                 groups of components, called
                                 panes, each separated by a
                                 Sash and a separator.  The
                                 panes, Sashes, and
                                 separators are grouped
                                 linearly, either
                                 horizontally or vertically.
                                 A Sash is the handle on a
                                 separator between two panes
                                 that is used to adjust the
                                 position of the separator



        May 8, 1992                                             B-93








        OSF/Motif Style Guide


                                 (Chapter 9).

                                 _T_h_i_s _s_p_e_c_i_f_i_c_a_t_i_o_n _e_n_s_u_r_e_s
                                 _t_h_e _c_o_n_s_i_s_t_e_n_t _a_p_p_e_a_r_a_n_c_e _o_f
                                 _a _P_a_n_e_d_W_i_n_d_o_w _a_c_r_o_s_s
                                 _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ 88_--1155::            Your application uses a Sash
                                 to adjust the position of a
                                 separator, which adjusts the
                                 sizes of the panes next to
                                 it.  As a Sash is moved, the
                                 pane in the direction of the
                                 Sash movement gets smaller
                                 and the opposite pane gets
                                 larger by an equal amount.
                                 If a pane is adjusted to its
                                 minimum size, adjustment
                                 continues with the next pane
                                 in the direction of Sash
                                 movement (Chapter 9).

                                 _T_h_i_s _s_p_e_c_i_f_i_c_a_t_i_o_n _r_e_s_u_l_t_s
                                 _i_n _t_h_e _u_n_i_f_o_r_m _o_p_e_r_a_t_i_o_n _o_f
                                 _a _P_a_n_e_d_W_i_n_d_o_w _a_c_r_o_s_s
                                 _a_p_p_l_i_c_a_t_i_o_n_s.

             _ _ 88_--1166::            In keyboard-based
                                 navigation, each Sash and
                                 pane in a PanedWindow is a
                                 field.  The fields are
                                 traversed in top-to-bottom
                                 or left-to-right order.  Any
                                 field within a pane is
                                 traversed before the next
                                 Sash (Section 2.3.2.3).

                                 _T_h_e_s_e _r_u_l_e_s _e_n_s_u_r_e _t_h_a_t _a_l_l
                                 _o_f _t_h_e _c_o_m_p_o_n_e_n_t_s _o_f _a
                                 _P_a_n_e_d_W_i_n_d_o_w _a_r_e _r_e_a_c_h_a_b_l_e _b_y
                                 _k_e_y_b_o_a_r_d-_b_a_s_e_d _n_a_v_i_g_a_t_i_o_n.

             _ _ 88_--1177::            Within a Sash, BBSSeelleecctt
                                 MMoottiioonn or BBTTrraannssffeerr MMoottiioonn
                                 causes the Sash to track the
                                 movement of the pointer.  In
                                 a vertically oriented
                                 PanedWindow, the Sash tracks
                                 the vertical position of the
                                 pointer.  In a horizontally
                                 oriented PanedWindow, the



        B-94                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                                 pane tracks the horizontal
                                 position of the pointer
                                 (Chapter 9).

                                 BBSSeelleecctt, the first mouse
                                 button, and BBTTrraannssffeerr, the
                                 second mouse button, provide
                                 a consistent means of moving
                                 a Sash in a PanedWindow
                                 using the mouse.

             _ _ 88_--1188::            <<||^^>>, <<||vv>>, <<<<-->>, and <<-->>>>
                                 move a Sash one increment in
                                 the specified direction
                                 (Chapter 9).

                                 _T_h_e _a_r_r_o_w _k_e_y_s _o_f_f_e_r _a
                                 _u_n_i_f_o_r_m _m_e_a_n_s _o_f _m_o_v_i_n_g _a
                                 _S_a_s_h _i_n _a _P_a_n_e_d_W_i_n_d_o_w.

             _ _ 88_--1199::            <<CCttrrll>> <<||^^>>, <<CCttrrll>> <<||vv>>,
                                 <<CCttrrll>> <<<<-->>, and <<CCttrrll>> <<-->>>>
                                 move a Sash one large
                                 increment in the specified
                                 direction (Chapter 9).

                                 _T_h_e_s_e _k_e_y_s _p_r_o_v_i_d_e _a
                                 _c_o_n_v_e_n_i_e_n_t _w_a_y _o_f _m_o_v_i_n_g _a
                                 _S_a_s_h _q_u_i_c_k_l_y _i_n _a
                                 _P_a_n_e_d_W_i_n_d_o_w.



        B.8.7  RRaaddiiooBBuuttttoonn




             NNoottee::  Your application is very likely to
                    comply with the RRaaddiiooBBuuttttoonn
                    section of the Checklist if:

                       +o it is based on a Motif
                         Toolkit with Level Two
                         validation,

                       +o it does not use any event
                         handlers to redirect keyboard
                         or pointer events,





        May 8, 1992                                             B-95








        OSF/Motif Style Guide


                       +o it uses only widgets provided
                         by OSF in the OSF/Motif
                         widget set, and

                       +o it uses the default widget
                         translations and the default
                         settings of the following
                         widget resources:

                            - XXmmNNiinnddiiccaattoorrOOnn

                            - XXmmNNttrraannssllaattiioonnss


             YYeess NN//AA NNoo

             _ _ 88_--2200::            If your application uses
                                 RadioButtons, each button
                                 graphically indicates its
                                 state (Chapter 9).

                                 _R_a_d_i_o_B_u_t_t_o_n_s _a_r_e _u_s_e_d _t_o
                                 _r_e_p_r_e_s_e_n_t _a _p_a_n_e_l _o_f
                                 _m_u_t_u_a_l_l_y _e_x_c_l_u_s_i_v_e
                                 _s_e_l_e_c_t_i_o_n_s.  _T_h_e _u_s_e_r _n_e_e_d_s
                                 _t_o _k_n_o_w _w_h_i_c_h _b_u_t_t_o_n _i_n _t_h_e
                                 _p_a_n_e_l _i_s _s_e_t.

             _ _ 88_--2211::            When a RadioButton is
                                 activated using BBSSeelleecctt,
                                 <<EEnntteerr>>, <<RReettuurrnn>>, <<SSeelleecctt>>,
                                 or <<SSppaaccee>>, if the button
                                 was previously unset, it is
                                 set, and any other
                                 RadioButton in the same
                                 panel that was previously
                                 set is unset.

                                 _A _p_a_n_e_l _o_f _R_a_d_i_o_B_u_t_t_o_n_s
                                 _o_p_e_r_a_t_e_s _s_u_c_h _t_h_a_t _o_n_l_y _o_n_e
                                 _b_u_t_t_o_n _i_s _s_e_t _a_t _t_i_m_e.



        B.8.8  SSccaallee




             NNoottee::  Your application is very likely to
                    comply with the SSccaallee section of



        B-96                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                    the Checklist if:

                       +o it is based on a Motif
                         Toolkit with Level Two
                         validation,

                       +o it does not use any event
                         handlers to redirect keyboard
                         or pointer events,

                       +o it uses only widgets provided
                         by OSF in the OSF/Motif
                         widget set, and

                       +o it uses the default widget
                         translations and the default
                         settings of the following
                         widget resources:

                            - XXmmNNttrraannssllaattiioonnss


             YYeess NN//AA NNoo

             _ _ 88_--2222::            Within a Scale component,
                                 your application uses
                                 BBSSeelleecctt PPrreessss in an arrow
                                 button to move the slider
                                 one increment in the
                                 direction of the side of the
                                 slider on which the button
                                 was pressed and autorepeats
                                 until the button is
                                 released.  In the trough, if
                                 the Scale has tick marks,
                                 BBSSeelleecctt PPrreessss moves the
                                 slider one tick mark in the
                                 direction of the side of the
                                 slider on which the trough
                                 was pressed and autorepeats
                                 until the button is
                                 released.  If the Scale does
                                 not have tick marks, BBSSeelleecctt
                                 PPrreessss in the trough moves
                                 the slider one large
                                 increment in the direction
                                 of the side of the slider on
                                 which the trough was pressed
                                 and autorepeats until the
                                 button is released (Chapter
                                 9).



        May 8, 1992                                             B-97








        OSF/Motif Style Guide


                                 BBSSeelleecctt PPrreessss _p_r_o_v_i_d_e_s _a
                                 _c_o_n_s_i_s_t_e_n_t _m_e_a_n_s _o_f
                                 _a_d_j_u_s_t_i_n_g _a _S_c_a_l_e _c_o_m_p_o_n_e_n_t
                                 _u_s_i_n_g _t_h_e _m_o_u_s_e.

             _ _ 88_--2233::            Within a Scale slider,
                                 BBSSeelleecctt MMoottiioonn causes the
                                 slider to track the position
                                 of the pointer.  In a
                                 vertical Scale, the slider
                                 tracks the vertical position
                                 of the pointer.  In a
                                 horizontal Scale, the slider
                                 tracks the horizontal
                                 position of the pointer
                                 (Chapter 9).

                                 BBSSeelleecctt MMoottiioonn _o_f_f_e_r_s _a
                                 _c_o_n_v_e_n_i_e_n_t _w_a_y _t_o _a_d_j_u_s_t _a
                                 _S_c_a_l_e _c_o_m_p_o_n_e_n_t _p_r_e_c_i_s_e_l_y
                                 _u_s_i_n_g _t_h_e _m_o_u_s_e.

             _ _ 88_--2244::            In the slider trough or
                                 arrow button, <<CCttrrll>> BBSSeelleecctt
                                 PPrreessss moves the slider to
                                 the end of the Scale on
                                 which the button was pressed
                                 (Chapter 9).

                                 _T_h_i_s _m_e_c_h_a_n_i_s_m _p_r_o_v_i_d_e_s _a
                                 _c_o_n_v_e_n_i_e_n_t _w_a_y _t_o _s_e_t _a
                                 _S_c_a_l_e _t_o _i_t_s _m_i_n_i_m_u_m _o_r
                                 _m_a_x_i_m_u_m _v_a_l_u_e _u_s_i_n_g _t_h_e
                                 _m_o_u_s_e.

             _ _ 88_--2255::            BBTTrraannssffeerr MMoottiioonn causes the
                                 slider to track the position
                                 of the pointer.  In a
                                 vertical Scale, the slider
                                 tracks the vertical
                                 position.  In a horizontal
                                 Scale, the slider tracks the
                                 horizontal position (Chapter
                                 9).

                                 BBTTrraannssffeerr MMoottiioonn _p_r_o_v_i_d_e_s
                                 _a_n_o_t_h_e_r _c_o_n_v_e_n_i_e_n_t _w_a_y _t_o
                                 _a_d_j_u_s_t _a _S_c_a_l_e _c_o_m_p_o_n_e_n_t
                                 _p_r_e_c_i_s_e_l_y _u_s_i_n_g _t_h_e _m_o_u_s_e.





        B-98                                             May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


             _ _ 88_--2266::            If a mouse-based scrolling
                                 action is in progress,
                                 <<CCaanncceell>> cancels the
                                 scrolling action and returns
                                 the slider to its position
                                 prior to the start of the
                                 scrolling operation (Chapter
                                 9).

                                 <<CCaanncceell>> _p_r_o_v_i_d_e_s _a
                                 _c_o_n_s_i_s_t_e_n_t _w_a_y _f_o_r _t_h_e _u_s_e_r
                                 _t_o _c_a_n_c_e_l _a _m_o_u_s_e-_b_a_s_e_d
                                 _s_c_r_o_l_l_i_n_g _a_c_t_i_o_n.

             _ _ 88_--2277::            In a vertical Scale, <<||^^>> and
                                 <<||vv>> move the slider one
                                 increment in the specified
                                 direction.  In a horizontal
                                 Scale, <<<<-->> and <<-->>>> move
                                 the slider one increment in
                                 the specified direction
                                 (Chapter 9).

                                 _T_h_e _a_r_r_o_w _k_e_y_s _p_r_o_v_i_d_e _a
                                 _u_n_i_f_o_r_m _w_a_y _o_f _a_d_j_u_s_t_i_n_g _t_h_e
                                 _s_l_i_d_e_r _i_n _a _S_c_a_l_e _c_o_m_p_o_n_e_n_t
                                 _u_s_i_n_g _t_h_e _k_e_y_b_o_a_r_d.

             _ _ 88_--2288::            In a vertical Scale, <<CCttrrll>>
                                 <<||^^>> and <<CCttrrll>> <<||vv>> move the
                                 slider one large increment
                                 in the specified direction.
                                 In a horizontal Scale,
                                 <<CCttrrll>> <<<<-->> and <<CCttrrll>> <<-->>>>
                                 move the slider one large
                                 increment in the specified
                                 direction (Chapter 9).

                                 _T_h_e_s_e _k_e_y_s _p_r_o_v_i_d_e _a
                                 _c_o_n_v_e_n_i_e_n_t _w_a_y _o_f _a_d_j_u_s_t_i_n_g
                                 _t_h_e _s_l_i_d_e_r _i_n _a _S_c_a_l_e
                                 _c_o_m_p_o_n_e_n_t _q_u_i_c_k_l_y _u_s_i_n_g _t_h_e
                                 _k_e_y_b_o_a_r_d.

             _ _ 88_--2299::            Your application uses
                                 <<BBeeggiinn>> or <<CCttrrll>> <<BBeeggiinn>> to
                                 move the slider to its
                                 minimum value.  <<EEnndd>> or
                                 <<CCttrrll>> <<EEnndd>> moves the
                                 slider to its maximum value.




        May 8, 1992                                             B-99








        OSF/Motif Style Guide


                                 _T_h_e_s_e _k_e_y_s _p_r_o_v_i_d_e _a
                                 _c_o_n_v_e_n_i_e_n_t _m_e_c_h_a_n_i_s_m _f_o_r
                                 _s_e_t_t_i_n_g _a _S_c_a_l_e _t_o _i_t_s
                                 _m_i_n_i_m_u_m _o_r _m_a_x_i_m_u_m _v_a_l_u_e
                                 _u_s_i_n_g _t_h_e _k_e_y_b_o_a_r_d.



        B.8.9  SSccrroollllBBaarr




             NNoottee::  Your application is very likely to
                    comply with the SSccrroollllBBaarr section
                    of the Checklist if:

                       +o it is based on a Motif
                         Toolkit with Level Two
                         validation,

                       +o it does not use any event
                         handlers to redirect keyboard
                         or pointer events,

                       +o it uses only widgets provided
                         by OSF in the OSF/Motif
                         widget set, and

                       +o it uses the default widget
                         translations and the default
                         settings of the following
                         widget resources:

                            - XXmmNNttrraannssllaattiioonnss


             YYeess NN//AA NNoo

             _ _ 88_--3300::            Within a ScrollBar, your
                                 application uses BBSSeelleecctt
                                 PPrreessss in an arrow button to
                                 move the slider one
                                 increment in the direction
                                 of the side of the slider on
                                 which the button was pressed
                                 and autorepeats until the
                                 button is released.  BBSSeelleecctt
                                 PPrreessss in the trough moves
                                 the slider one page in the
                                 direction of the side of the



        B-100                                            May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                                 slider on which the trough
                                 was pressed and autorepeats
                                 until the button is released
                                 (Chapter 9).

                                 BBSSeelleecctt PPrreessss _p_r_o_v_i_d_e_s _a
                                 _c_o_n_s_i_s_t_e_n_t _m_e_a_n_s _o_f
                                 _a_d_j_u_s_t_i_n_g _a _S_c_r_o_l_l_B_a_r _u_s_i_n_g
                                 _t_h_e _m_o_u_s_e.

             _ _ 88_--3311::            Within a ScrollBar slider,
                                 BBSSeelleecctt MMoottiioonn causes the
                                 slider to track the position
                                 of the pointer.  In a
                                 vertical ScrollBar, the
                                 slider tracks the vertical
                                 position of the pointer.  In
                                 a horizontal ScrollBar, the
                                 slider tracks the horizontal
                                 position of the pointer
                                 (Chapter 9).

                                 BBSSeelleecctt MMoottiioonn _o_f_f_e_r_s _a
                                 _c_o_n_v_e_n_i_e_n_t _w_a_y _t_o _a_d_j_u_s_t _a
                                 _S_c_r_o_l_l_B_a_r _p_r_e_c_i_s_e_l_y _u_s_i_n_g
                                 _t_h_e _m_o_u_s_e.

             _ _ 88_--3322::            In the slider trough or
                                 arrow button, <<CCttrrll>> BBSSeelleecctt
                                 PPrreessss moves the slider to
                                 the end of the ScrollBar on
                                 which the button was pressed
                                 (Chapter 9).

                                 _T_h_i_s _m_e_c_h_a_n_i_s_m _p_r_o_v_i_d_e_s _a
                                 _c_o_n_v_e_n_i_e_n_t _w_a_y _t_o _s_e_t _a
                                 _S_c_r_o_l_l_B_a_r _t_o _i_t_s _m_i_n_i_m_u_m _o_r
                                 _m_a_x_i_m_u_m _v_a_l_u_e _u_s_i_n_g _t_h_e
                                 _m_o_u_s_e.

             _ _ 88_--3333::            BBTTrraannssffeerr MMoottiioonn causes the
                                 slider to track the position
                                 of the pointer.  In a
                                 vertical ScrollBar, the
                                 slider tracks the vertical
                                 position of the pointer.  In
                                 a horizontal ScrollBar, the
                                 slider tracks the horizontal
                                 position of the pointer
                                 (Chapter 9).




        May 8, 1992                                            B-101








        OSF/Motif Style Guide


                                 BBTTrraannssffeerr MMoottiioonn _o_f_f_e_r_s
                                 _a_n_o_t_h_e_r _c_o_n_v_e_n_i_e_n_t _w_a_y _t_o
                                 _a_d_j_u_s_t _a _S_c_r_o_l_l_B_a_r _p_r_e_c_i_s_e_l_y
                                 _u_s_i_n_g _t_h_e _m_o_u_s_e.

             _ _ 88_--3344::            If a mouse-based scrolling
                                 action is in progress,
                                 <<CCaanncceell>> cancels the
                                 scrolling action and returns
                                 the slider to its position
                                 prior to the start of the
                                 scrolling operation (Chapter
                                 9).

                                 <<CCaanncceell>> _p_r_o_v_i_d_e_s _a
                                 _c_o_n_s_i_s_t_e_n_t _w_a_y _f_o_r _t_h_e _u_s_e_r
                                 _t_o _c_a_n_c_e_l _a _m_o_u_s_e-_b_a_s_e_d
                                 _s_c_r_o_l_l_i_n_g _a_c_t_i_o_n.

             _ _ 88_--3355::            In a vertical ScrollBar, <<||^^>>
                                 and <<||vv>> move the slider one
                                 increment in the specified
                                 direction.  In a horizontal
                                 ScrollBar, <<<<-->> and <<-->>>>
                                 move the slider one
                                 increment in the specified
                                 direction (Chapter 9).

                                 _T_h_e _a_r_r_o_w _k_e_y_s _p_r_o_v_i_d_e _a
                                 _u_n_i_f_o_r_m _m_e_a_n_s _o_f _a_d_j_u_s_t_i_n_g _a
                                 _S_c_r_o_l_l_B_a_r _u_s_i_n_g _t_h_e
                                 _k_e_y_b_o_a_r_d.

             _ _ 88_--3366::            In a vertical ScrollBar,
                                 <<CCttrrll>> <<||^^>> and <<CCttrrll>> <<||vv>>
                                 move the slider one large
                                 increment in the specified
                                 direction.  <<CCttrrll>> <<<<-->> and
                                 <<CCttrrll>> <<-->>>> move the slider
                                 one large increment in the
                                 specified direction (Chapter
                                 9).

                                 _T_h_e_s_e _k_e_y_s _p_r_o_v_i_d_e _a
                                 _c_o_n_v_e_n_i_e_n_t _w_a_y _o_f _a_d_j_u_s_t_i_n_g
                                 _a _S_c_r_o_l_l_B_a_r _q_u_i_c_k_l_y _u_s_i_n_g
                                 _t_h_e _k_e_y_b_o_a_r_d.

             _ _ 88_--3377::            Your application uses
                                 <<PPaaggeeUUpp>> and <<PPaaggeeDDoowwnn>> to
                                 move the slider in a



        B-102                                            May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                                 vertical ScrollBar one page
                                 in the specified direction.
                                 <<PPaaggeeLLeefftt>> or <<CCttrrll>>
                                 <<PPaaggeeUUpp>> and <<PPaaggeeRRiigghhtt>> or
                                 <<CCttrrll>> <<PPaaggeeDDoowwnn>> move the
                                 slider in a horizontal
                                 ScrollBar one page in the
                                 specified direction (Chapter
                                 9).

                                 _T_h_e_s_e _k_e_y_s _a_l_l_o_w _f_o_r _t_h_e
                                 _c_o_n_v_e_n_i_e_n_t _m_o_v_e_m_e_n_t _o_f _t_h_e
                                 _s_l_i_d_e_r _i_n _a _S_c_r_o_l_l_B_a_r _u_s_i_n_g
                                 _t_h_e _k_e_y_b_o_a_r_d.

             _ _ 88_--3388::            Your application uses
                                 <<BBeeggiinn>> or <<CCttrrll>> <<BBeeggiinn>> to
                                 move the slider to the
                                 minimum value.  <<EEnndd>> or
                                 <<CCttrrll>> <<EEnndd>> moves the
                                 slider to the maximum value.

                                 _T_h_e_s_e _k_e_y_s _o_f_f_e_r _a
                                 _c_o_n_v_e_n_i_e_n_t _m_e_c_h_a_n_i_s_m _f_o_r
                                 _s_e_t_t_i_n_g _a _S_c_r_o_l_l_B_a_r _t_o _i_t_s
                                 _m_i_n_i_m_u_m _o_r _m_a_x_i_m_u_m _v_a_l_u_e
                                 _u_s_i_n_g _t_h_e _k_e_y_b_o_a_r_d.



        B.8.10  SSeelleeccttiioonnBBooxx




             NNoottee::  Your application is very likely to
                    comply with the SSeelleeccttiioonnBBooxx
                    section of the Checklist if:

                       +o it is based on a Motif
                         Toolkit with Level Two
                         validation,

                       +o it does not use any event
                         handlers to redirect keyboard
                         or pointer events,

                       +o it uses only widgets provided
                         by OSF in the OSF/Motif
                         widget set, and




        May 8, 1992                                            B-103








        OSF/Motif Style Guide


                       +o it uses the default widget
                         translations and the default
                         settings of the following
                         widget resources:

                            - XXmmNNsseelleeccttiioonnPPoolliiccyy

                            - XXmmNNtteexxttAAcccceelleerraattoorrss

                            - XXmmNNttrraannssllaattiioonnss


             YYeess NN//AA NNoo

             _ _ 88_--3399::            If your application uses a
                                 SelectionBox, it is composed
                                 of a Text component for the
                                 selected alternative and a
                                 List component above the
                                 Text component for
                                 presenting alternatives.
                                 The List uses either the
                                 single or browse selection
                                 model.  Selecting an element
                                 from the List places the
                                 selected element in the Text
                                 component.  Entering an item
                                 name into the Text component
                                 makes that element visible
                                 in the List component.

                                 _T_h_i_s _s_p_e_c_i_f_i_c_a_t_i_o_n _e_n_s_u_r_e_s
                                 _t_h_e _c_o_n_s_i_s_t_e_n_t _a_p_p_e_a_r_a_n_c_e
                                 _a_n_d _o_p_e_r_a_t_i_o_n _o_f _a
                                 _S_e_l_e_c_t_i_o_n_B_o_x _a_c_r_o_s_s
                                 _a_p_p_l_i_c_a_t_i_o_n_s.



        B.8.11  TTeexxtt




             NNoottee::  Your application is very likely to
                    comply with the TTeexxtt section of
                    the Checklist if:

                       +o it is based on a Motif
                         Toolkit with Level Two
                         validation,



        B-104                                            May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                       +o it does not use any event
                         handlers to redirect keyboard
                         or pointer events,

                       +o it uses only widgets provided
                         by OSF in the OSF/Motif
                         widget set, and

                       +o it uses the default widget
                         translations and the default
                         settings of the following
                         widget resources:

                            - XXmmNNccuurrssoorrPPoossiittiioonn

                            - XXmmNNsseelleeccttiioonnAArrrraayy

                            - XXmmNNsseelleeccttiioonnAArrrraayyCCoouunntt

                            - XXmmNNttooppCChhaarraacctteerr

                            - XXmmNNttrraannssllaattiioonnss


             YYeess NN//AA NNoo

             _ _ 88_--4400::            In a multiline Text
                                 component, <<||^^>> moves the
                                 location cursor up one line
                                 and <<||vv>> moves the location
                                 cursor down one line.  In a
                                 single-line Text component,
                                 <<||^^>> navigates upward to the
                                 next component and <<||vv>>
                                 navigates downward to the
                                 next component, if the Text
                                 is designed to act like a
                                 basic control (Chapter 9).

                                 _T_h_e _u_p _a_n_d _d_o_w_n _a_r_r_o_w _k_e_y_s
                                 _p_r_o_v_i_d_e _a _u_n_i_f_o_r_m _m_e_a_n_s _o_f
                                 _n_a_v_i_g_a_t_i_o_n _w_i_t_h_i_n _T_e_x_t
                                 _c_o_m_p_o_n_e_n_t_s.

             _ _ 88_--4411::            <<<<-->> moves the location
                                 cursor left one character
                                 and <<-->>>> moves the location
                                 cursor right one character
                                 (Chapter 9).

                                 _T_h_e _l_e_f_t _a_n_d _r_i_g_h_t _a_r_r_o_w



        May 8, 1992                                            B-105








        OSF/Motif Style Guide


                                 _k_e_y_s _o_f_f_e_r _a _c_o_n_s_i_s_t_e_n_t _w_a_y
                                 _o_f _n_a_v_i_g_a_t_i_n_g _w_i_t_h_i_n _T_e_x_t
                                 _c_o_m_p_o_n_e_n_t_s.

             _ _ 88_--4422::            Your application uses <<CCttrrll>>
                                 <<-->>>> to move the location
                                 cursor left by a word, which
                                 means to the first character
                                 after a space, tab, or
                                 newline.  <<CCttrrll>> <<<<-->> moves
                                 the location cursor right by
                                 a word, which means to the
                                 first nonblank character
                                 after the first previous
                                 blank character (Chapter 9).

                                 <<CCttrrll>> <<-->>>> _a_n_d <<CCttrrll>> <<<<-->>
                                 _p_r_o_v_i_d_e _a _u_n_i_f_o_r_m _w_a_y _o_f
                                 _n_a_v_i_g_a_t_i_n_g _b_y _w_o_r_d_s _i_n _a
                                 _T_e_x_t _c_o_m_p_o_n_e_n_t.

             _ _ 88_--4433::            <<BBeeggiinn>> moves the location
                                 cursor to the beginning of
                                 the line and <<EEnndd>> moves the
                                 location cursor to the end
                                 of the line (Chapter 9).

                                 _T_h_e_s_e _k_e_y_s _a_l_l_o_w _t_h_e _u_s_e_r _t_o
                                 _m_o_v_e _q_u_i_c_k_l_y _t_o _t_h_e
                                 _b_e_g_i_n_n_i_n_g _o_r _e_n_d _o_f _a _l_i_n_e
                                 _o_f _t_e_x_t _i_n _a _T_e_x_t _c_o_m_p_o_n_e_n_t.

             _ _ 88_--4444::            In a multiline Text
                                 component, <<CCttrrll>> <<BBeeggiinn>>
                                 moves the location cursor to
                                 the beginning of the file
                                 and <<CCttrrll>> <<EEnndd>> moves the
                                 location cursor to the end
                                 of the file (Chapter 9).

                                 _T_h_e_s_e _k_e_y_s _p_e_r_m_i_t _t_h_e _u_s_e_r
                                 _t_o _m_o_v_e _q_u_i_c_k_l_y _t_o _t_h_e
                                 _b_e_g_i_n_n_i_n_g _o_r _e_n_d _o_f _a _f_i_l_e
                                 _i_n _a _T_e_x_t _c_o_m_p_o_n_e_n_t.

             _ _ 88_--4455::            Your application uses
                                 <<SSppaaccee>> to insert a space in
                                 a Text component.  <<CCttrrll>>
                                 <<SSppaaccee>> or <<SSeelleecctt>> evokes
                                 the normal selection
                                 function (Chapter 9).



        B-106                                            May 8, 1992








                           OSF/Motif Level 1 Certification Checklist


                                 _T_h_i_s _s_p_e_c_i_f_i_c_a_t_i_o_n _e_n_s_u_r_e_s
                                 _t_h_a_t _s_e_l_e_c_t_i_o_n _i_s _a_v_a_i_l_a_b_l_e
                                 _f_r_o_m _t_h_e _k_e_y_b_o_a_r_d _i_n _a _T_e_x_t
                                 _c_o_m_p_o_n_e_n_t.

             _ _ 88_--4466::            <<EEnntteerr>> in a multiline Text
                                 component inserts a carriage
                                 return.  <<CCttrrll>> <<EEnntteerr>> or
                                 <<CCttrrll>> <<RReettuurrnn>> evokes the
                                 normal activation function
                                 (Chapter 9).

                                 _T_h_i_s _s_p_e_c_i_f_i_c_a_t_i_o_n _e_n_s_u_r_e_s
                                 _t_h_a_t _a_c_t_i_v_a_t_i_o_n _i_s _a_v_a_i_l_a_b_l_e
                                 _f_r_o_m _t_h_e _k_e_y_b_o_a_r_d _i_n _a _T_e_x_t
                                 _c_o_m_p_o_n_e_n_t.

             _ _ 88_--4477::            In a single-line Text
                                 component, <<TTaabb>> and <<SShhiifftt>>
                                 <<TTaabb>> have no effect, except
                                 that <<TTaabb>> can optionally
                                 traverse to the next field.
                                 Modifying either key with
                                 <<CCttrrll>> evokes its normal
                                 field navigation function
                                 (Chapter 9).

                                 _T_h_i_s _s_p_e_c_i_f_i_c_a_t_i_o_n _e_n_s_u_r_e_s
                                 _t_h_a_t _f_i_e_l_d _n_a_v_i_g_a_t_i_o_n _i_s
                                 _a_v_a_i_l_a_b_l_e _f_r_o_m _t_h_e _k_e_y_b_o_a_r_d
                                 _i_n _a _T_e_x_t _c_o_m_p_o_n_e_n_t.

             _ _ 88_--4488::            If your application provides
                                 a replace mode for Text
                                 components, the component
                                 starts in insert mode, where
                                 the location cursor is
                                 between two characters.  In
                                 replace mode, typing a
                                 character replaces the
                                 current character with that
                                 newly typed character and
                                 moves the location cursor to
                                 the next character (Chapter
                                 9).

                                 _T_h_e_s_e _r_u_l_e_s _e_n_s_u_r_e _t_h_e
                                 _u_n_i_f_o_r_m _o_p_e_r_a_t_i_o_n _o_f _a _T_e_x_t
                                 _c_o_m_p_o_n_e_n_t _w_i_t_h _a _r_e_p_l_a_c_e
                                 _m_o_d_e.




        May 8, 1992                                            B-107








        OSF/Motif Style Guide


             _ _ 88_--4499::            Your application uses
                                 BBSSeelleecctt CClliicckk 22 to select
                                 text a word at a time
                                 (Chapter 9).

                                 _D_o_u_b_l_e _c_l_i_c_k_i_n_g _w_i_t_h _t_h_e
                                 _f_i_r_s_t _m_o_u_s_e _b_u_t_t_o_n _p_r_o_v_i_d_e_s
                                 _a _c_o_n_v_e_n_i_e_n_t _m_e_c_h_a_n_i_s_m _f_o_r
                                 _s_e_l_e_c_t_i_n_g _w_o_r_d_s _i_n _a _T_e_x_t
                                 _c_o_m_p_o_n_e_n_t.












































        B-108                                            May 8, 1992






 .
