How to provide the user in an APEX application with low-vision apex option

Hi I've a small problem I'm trying to solve but can't seem to find anything on this.
The issue is this I've developed an application and the user can log on and use it successfully. For those users that are visually impared I need a link on my main application to a High Contrast version of the same application.
Is this even possible.
I don't want to have to create a new application using a high contrast theme, as I would need to maintain 2 applications in the end.
Is there a way of changing the colors at run time to a higher contrast version.
Many thanks.

Hi,
I just wanted to add to this discussion with some functionality introduced in APEX 4.1 that may help here. In APEX 4.1, we introduced a new 'High Contrast Mode' which basically identifies sessions as optimized for high contrast in the APEX development environment and websheet runtime. This allowed us to get around some issues we were having when a user was running in 'Windows High Contrast Mode' (where CSS background images are ignored) and also some issues with insufficent contrast. To read more about this mode, please see the 'About Constrast Mode' section in the 'Accessibility in Oracle Application Express' appendix here:
http://download.oracle.com/docs/cd/E23903_01/doc/doc.41/e21674/accessibility002.htm#BABBCIJD
Now, although this mode is available for use within your own database applications, it really only provides the framework for you to provision the mode and importantly, will not make any changes to your application (that's still up to you). But I think the framework is still useful and provides some nice API's to help you turn the mode on or off and also determine the status of the mode.
I have setup a simple example to show you how this works:
http://apex.oracle.com/pls/apex/f?p=11005:1
It's rudimentary, just showing 1 region if High Contrast Mode is on, and another if it's off. This page has the following:
1) Select list to select whether the mode is on or off.
2) Page process to set the mode, depending on the select list value. This performs the following PL/SQL (showing the APIs you can use to switch the mode on or off):
if :P1_HIGH_CONTRAST = 'Y' then
  apex_util.set_session_high_contrast_on;
elsif :P1_HIGH_CONTRAST = 'N' then
  apex_util.set_session_high_contrast_off;
end if;3) The region's have 'PL/SQL Expression' conditions that call another API that you can use to check if the current session is running in HC Mode. For example:
apex_util.is_high_contrast_sessionOnce the mode is enabled, it will remain enabled for the length of the current session (or until it is switched off). To understand more about how you can use HC Mode, please see here:
http://download.oracle.com/docs/cd/E23903_01/doc/doc.41/e21674/advnc001.htm#CIJCDGII
So as I said, the example I gave as kinda simple. But you could easily extend this to say include an additional CSS file when running in HC Mode (containing the CSS styles and properties that would give you the increased contrast). You could do this by adding a page zero page process to run before header, that calls the apex_util.is_high_contrast_session API to determine if the current session is in HC mode, then include the CSS file if so. To see an example of this, please see here:
http://download.oracle.com/docs/cd/E23903_01/doc/doc.41/e21676/apex_util.htm#autoId71
I hope this helps, at least with the framework side of things, if you can upgrade to 4.1 at all.
Regards,
Anthony.

Similar Messages

  • How to catch the user defined  exception in application service

    Hi All,
    How to catch the user defined  exception in application service  when it is throwed by the external service..
    Regards,
    Thirumurugan.

    Hi,
        Thanks for your reply,
            Actually I  am calling validate Login method of External service from the application service. When the login fails, my external service will throw user defined Exception.I want to catch the user defined Exception.
        But in the application service , validate Login method can catch  only Invocation Exception and Engine Exception.
       These two exception are present in the Application service remote interface.
      public com.sap.comptest.extsrv.accrjavawsvi__document.output.
    Ns1_validateLoginResponse validateLogin(com.sap.comptest.extsrv.accrjavawsvi__document.input.Ns1_validateLogin input) throws com.sap.caf.mp.base.exception.InvocationException, com.sap.caf.mp.base.exception.EngineException;
    User defined exception is not present there. When i include the webservice as external service in CAF, it suppossed to generate the java file for the custom exception of validate Login method and this generated file should be included in the application service remote interface..
    public com.sap.comptest.extsrv.accrjavawsvi__document.output.
    Ns1_validateLoginResponse validateLogin(com.sap.comptest.extsrv.accrjavawsvi__document.input.Ns1_validateLogin input) throws com.sap.caf.mp.base.exception.InvocationException, com.sap.caf.mp.base.exception.EngineException,
    (generated file name of user defined Excpetion.
      Then only  validate login method  of application service can catch  the user defined Exception which is thrown by the  external service.
    regards,
    Thirumurugan.p

  • How to provide the user with a list of files to pick from...for downloading

    hai..
    I have uploaded the file succesfully.. now we need to download the file...... which has been uploaded..... for that we have implemnted the Query as..
    select max(id) from APEX_APPLICATION_FILES ,here the latest uploaded record will be retrieved and shown.
    Now We want to provide the user with a list of files to pick from for downloading..,Dat is he should be shown the list of files which is available from dat he has to select one file to downlaod ???
    can u plz tell me how to do it....
    anoo

    Hi Anoo,
    Create a report using the following SQL statement:
    SELECT ID,
    FILENAME,
    CREATED_ON
    FROM APEX_APPLICATION_FILES
    ORDER BY CREATED_ON DESCThere are other fields available from the table, but the above gives you a start.
    Then edit the report's Report Attributes.
    Edit the CREATED_ON column and pick a Number/Date Format to use for the display and Apply Changes
    Edit the ID column. In the Column Link section, enter:
    Link Text: <img src="#IMAGE_PREFIX#download.gif" alt="Download">
    Target: URL
    URL: p?n=#ID#
    Apply Changes and run your report
    Andy

  • How to restrict the Users to access other application URL on same machine?

    We have one Oracle 10g AS server, hostname "abc", this server having two services named "DSS" and "RBL".
    Our requriement is how we can restrict the URL "http://abc.xyz.com:7777/forms/frmservlet?config=rbl" from user access, because both DSS and RBL having same URL.
    Can we change port 7777 for RBL service?
    http://abc.xyz.com:7777/forms/frmservlet?config=dss
    [DSS]
    userid=schema_1/abc123@orcl
    form=DSS_MAIN_MENU.fmx
    width=200%
    height=200%
    separateFrame=true
    lookAndFeel=oracle
    colorScheme=teal
    splashScreen=no
    background=grey
    http://abc.xyz.com:7777/forms/frmservlet?config=rbl
    [RBL]
    userid=schema_1/abc123@orcl
    form=MAIN_MENU.fmx
    width=200%
    height=200%
    separateFrame=true
    lookAndFeel=oracle
    colorScheme=teal
    splashScreen=no
    background=grey
    --------------------------------------------------------------------------

    Anyone can answer.

  • How to create the user on Internet Application Server(IAS) control console

    Hi All,
    My Client is asking me for How to create the user on Internet Application Server(IAS) control console 10.1.2( 10g release 2).
    If anyone have the document for How to Create the User on Internet Application Server (IAS) console 10g release 2 , then please send me the document and help me out from this Concern.
    Regards,
    Yadav@intelli.
    Edited by: 851080 on Apr 8, 2011 6:31 PM

    Are you using OID? Can you provide more details about your iAS environment?

  • Reading from a file. How to ask the user for file name at run time????

    I have the code to read from a file but my problem is how to prompt the user for the file name at run time.
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.util.InputMismatchException;
    import java.util.Scanner;
    public class FileRead {
        public static void main(String args[]) {
            Scanner scan = null;
            File file = new File("Results.txt");
            String number;
            try {
                scan = new Scanner(file);
                while (scan.hasNext()){
                number = scan.next();
                System.out.println(number);}
            catch (FileNotFoundException ex1){
                System.out.println("No such file");
            catch (IllegalStateException ex2){
                System.out.println("Did you close the read by mistake");
            catch (InputMismatchException ex){
                System.out.println("File structure incorrect");
            finally{
                scan.close();}
    }Any hints would be greatly appreciated. Thank you in advance

    I have read through some of the tutorials that you have directed me too and they are very useful, thank you. however there are still a few things that i am not clear about. I am using net beans 5.0 I have placed a text file named Results.txt into the project at the root so the program can view it.
    When I use the code that you provided me with, does it matter where the file is, or will it look through everywhere on the hard drive to find a match?
    This code compiles but at run time it comes up with this error
    run-single:
    java.lang.NoClassDefFoundError: NamedFile
    Exception in thread "main"
    Java Result: 1
    BUILD SUCCESSFUL (total time: 3 seconds)
    import java.util.Scanner;
    import java.io.*;
    class NamedFileInput
      public static void main (String[] args) throws IOException
        int num, square;   
        // this Scanner is used to read what the user enters
        Scanner user = new Scanner( System.in );
        String  fileName;
        System.out.print("File Name: ");
        fileName = user.nextLine().trim();
        File file = new File( fileName );     // create a File object
        // this Scanner is used to read from the file
        Scanner scan = new Scanner( file );     
        while( scan.hasNextInt() )   // is there more data to process?
          num = scan.nextInt();
          square = num * num ;     
          System.out.println("The square of " + num + " is " + square);
    }his is the code that i used. It is the same as the code you posted for me (on chapter 23 I/O using Scanner and PrintStream) Sorry im just really stuck on this!!

  • How to get the user active stauts in jspdynpro

    How to get the user active status in jspdynpro.
    I want check weather a user is active or not (Collaboration Launch Pad functionality)
    in jspdynpage.
    Thank's in advance,
    Mr.Chowdary

    Hi Eddy,
    Here the scenario is to get the data of a field from the user defined table to pass the extracted values as a input to the XL reporter, which will be selected while generating the report.
    It would be great if you provide any solution for this problem.
    Thanks.

  • How to let the user define the colors for each plots in the graph (I use LabVIEW 7)?

    How to let the user define the colors for each plots in the graph (I
    use LabVIEW 7)?

    Hi,
    Take a look at this example, it uses property nodes to select tha
    active plot and then changes the color of that plot.
    If you want to make the number of plots dynamic you could use a for
    loop and an array of color boxes.
    I hope this helps.
    Regards,
    Juan Carlos
    N.I.
    Attachments:
    Changing_plot_color.vi ‏38 KB

  • How do I sign my VB / VS 2010 based shared COM add-in for Excel so it loads when the user has checked "Require application add-ins to be signed by a trusted publisher"?

    My COM add-in is developed using VS 2010 and VB. It's a shared COM add-in (not VSTO) and it works with Excel 2007 - 2013. My installer is signed with a code signing certificate but it would appear that my add-in's .dll should also be signed if the user has
    checked the "Require application add-ins to be signed by a trusted publisher" option.
    The "Sign the assembly" option is checked in my add-in's VB -> My Project -> Signing. I have a .snk file selected which I seem to recall generating 6 or 7 years ago when I ported the COM add-in from VB6 to .NET. 
    I have an up-to-date Comodo code signing certificate (a pfx file called MyCompanyCodeSigningCertificatePrivateKey.pfx) which I purchased to use with the installer and was wondering if and how I could use this.
    I tried selecting my pfx file in the My Project -> Signing -> "Choose a strong name key file" dialog. It made a copy of the pfx file in my project folder but when I tried to build the project, I got the following error:
    Error 1 Cannot import the following key file: MyCompanyCodeSigningCertificatePrivateKey.pfx. The key file may be password protected. To correct this, try to import the certificate again or manually install the certificate to the Strong Name CSP with the
    following key container name: VS_KEY_C0B6F251F0FB6016
    After a little research, I found out I might be able to use signtool to sign the dll in a post-build step.
    I added the following command to the post-build event, before the command I use to regasm the assembly.
    "path to signtool\signtool" sign /f "MyCompanyCodeSigningCertificatePrivateKey.pfx" /p "xxxx" /v "$(TargetPath)"
    When I built the project, the dll appeared to get signed (the output window showed a bunch of confirming text as well as "Successfully signed: c:\MyAddIn\bin\Release\MyAddIn.dll") but the next step in the post-build (regasm myaddin.dll /codebase)
    issued a warning RA0000 (see below) but reported "Types registered successfully".
    Here's the message I get from regasm, even though the output window says the dll was sucessfully signed:
    RegAsm : warning RA0000: Registering an unsigned assembly with /codebase can cause your assembly to interfere with other applications that may be installed on the same computer. The /codebase switch is intended to be used only with signed assemblies. Please give your assembly a strong name and re-register it.
    Types registered successfully
    I'm not using a shim if that makes a difference.
    How do I sign my add-in so it loads when the user has checked "Require application add-ins to be signed by a trusted publisher"?
    Any tips would be appreciated.

    Hello,
    Why do you need to use the regasm utility from the post-build action?
    There is a difference between signing the assembly with a strong name and digital signature. The
    How to: Sign an Assembly with a Strong Name article in MSDN explains how to sign an assembly with a strong name (.snk). See
    How to digitally sign a strong named assembly for adding a digital signature.
    You may also find the
    What's the Difference, Part Five: certificate signing vs strong naming article helpful.

  • How to avoid the user selecting a different path in my installer

    Hello again all you helpful forum-goers!
    I have an application and a corresponding installer, and then I have a separate installer putting some support files in the same directory.  My problem is that if the user selects a different path to which to install my primary application, the secondary installer will not put the required support files in the same spot.
    Now, I think I've figured out how to get the user-selected path from the "Run executable at the end of installation" option in the Advanced pane of the LabVIEW installer configuration, and I can pass that in to my secondary installer, and that should fix the problem.  However, what I'd really like to do is just not give the user the option to install my primary application in a different directory to begin with.  I've looked, but cannot find any way to do that.
    Does anyone know of any way to not present the option to install an application in a different directory when using the LabVIEW installer?
    Thanks in advance for any suggestions,
    -Joe

    Ben64,
    That's great!  Thank you so much for your quick reply.  The only reason I haven't already accepted that as my solution is that it requires a manual post-compile change to a text file.  Ideally I'd prefer not to have to remember to do that every time I rebuild my installer.  Is there any way that you know of to automate the process?
    If not, I'm happy to have a good solution even if it takes an extra step each time to implement.
    -Joe

  • Question on how to Hide the User Name, Password, and Domain fields in the MDT Wizard

    MDT 2012 U1
    Deploying Windows 7 via Offline Media (ISO) to MS Virtual PC's
    I am looking on how to Hide the User Name, Password, and Domain fields which are prepopulated in the MDT wizard via the CS.ini (Not so concerned about the Domain field as I am User Name and Password)
    We do need the Computer Name and OU fields to be seen, so skipping the wizard is not a option
    The client just does not want these fields to be seen by the end users, they dont want them to even know the account name used for adding the machine to the domain, of course the password is not displayed but it must not be displayed either.
    But since we use the fields they must still  be fuctional just not seen.
    Thanks.....
    If this post is helpful please click "Mark for answer", thanks! Kind regards

    You shouldn't have to edit DeployWiz_Definition_ENU.xml. You should only need to add "SkipAdminPassword=YES" to the CS.ini file and your authentication information.
    Example:
    [Settings]
    Priority=Default
    Properties=MyCustomProperty
    [Default]
    OSInstall=Y
    SkipCapture=NO
    SkipAdminPassword=YES
    UserID=<MyUserID>
    UserPassword=<MyPassword>
    UserDomain=<MyDomain.com>
    SkipProductKey=NO
    SkipComputerBackup=YES
    SkipBitLocker=NO
    -Nick O.
    Nick,
    SkipAdminPassword=YES is for:
    You can skip the Administrator Password wizard page by using this property in the
    customsettings.ini.
    I am hidding the Username/Password/and domain field in the computer name Wizard pane which is read from the cs.iniDomainAdmin=xxxxx
    DomainAdminPassword=xxxxx
    DomainAdminDomain=xxxxxx
    JoinDomain=xxxxxx
    If this post is helpful please click "Mark for answer", thanks! Kind regards

  • How to identify the user who created the variant

    Hi All,
    Can anyone tell me how to identify the user who created the variant ?

    Hi Dear,
    For the same go to SE11 and view the table "VARID". This table give the details of the program,user,variant etc.
    From this table u can know which user created the variant. Hope this solve your purpose.
    Regards

  • How to find the user menu of a user

    Hi,
        I have a request to change the description of a custom transaction in the user menu of a user. Im not sure
    How to find the user's user menu...
    Can we add any small documentation or comments to each object in user menu...
    Thanks in advance
    search before posting , it is a warning to you
    Edited by: Vijay Babu Dudla on Dec 31, 2008 5:00 AM
    Edited by: Vijay Babu Dudla on Dec 31, 2008 5:05 AM

    Welcome to SCN.
    Just refer: [Area Menu Maintenance |http://help.sap.com/saphelp_nw2004s/helpdata/en/00/783b377bfdcf61e10000009b38f936/frameset.htm]

  • How to find the user exits and BADIS from SPRO

    Hi all,
    please let us know how to find the User exits or BADIS for an application from SPRO.
    Regards,
    Madhavi

    Hi Varisetty,
    Finding user exits and BAdis from SPRO can be cumbsersome. In most instances you know the standard SAP program and want to check (find) an exit called in the flow of the transaction. You can do this as follows:
    For User Exit:
    Put "/h" in the command box (to start debugging)
    Execute your transaction
    When you enter debugging - put a breakpoint at statement
    CALL CUSTOMER-FUNCTION
    the control will stop at all calls to User Exits
    For BAdi (it's simpler)
    Go to class CL_EXITHANDLER in SE24
    Enter method GET_INSTANCE
    Put a breakpoint in this method
    Run your standard transaction - control will stop at all BAdis called within the flow since this method is used to check BAdi implementations before invoking them
    Also, if you want to find enhancements by package - go to SE80, enter the package and check function groups starting with X - those contain function exits (conventional user exits). For BAdis in a package, there is normally a separate tree node (under the package) for Enhancements hence clearly identifiable.
    Cheers,
    Adi

  • How to  find the user exit for a screen..

    Hi,
    plz help me how to find the user exit for a screen..?
    Regards
    Anbu

    Hi,
    check this program this will give you the list of user-exit and BADI for the perticular Tcode.
    REPORT  zuserexit_badi.
    TABLES : tstc,
    tadir,
    modsapt,
    modact,
    trdir,
    tfdir,
    enlfdir,
    sxs_attrt ,
    tstct.
    DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE.
    DATA : field1(30).
    DATA : v_devclass LIKE tadir-devclass.
    PARAMETERS : p_tcode LIKE tstc-tcode,
    p_pgmna LIKE tstc-pgmna .
    DATA wa_tadir TYPE tadir.
    START-OF-SELECTION.
      IF NOT p_tcode IS INITIAL.
        SELECT SINGLE * FROM tstc WHERE tcode EQ p_tcode.
      ELSEIF NOT p_pgmna IS INITIAL.
        tstc-pgmna = p_pgmna.
      ENDIF.
      IF sy-subrc EQ 0.
        SELECT SINGLE * FROM tadir
        WHERE pgmid = 'R3TR'
        AND object = 'PROG'
        AND obj_name = tstc-pgmna.
        MOVE : tadir-devclass TO v_devclass.
        IF sy-subrc NE 0.
          SELECT SINGLE * FROM trdir
          WHERE name = tstc-pgmna.
          IF trdir-subc EQ 'F'.
            SELECT SINGLE * FROM tfdir
            WHERE pname = tstc-pgmna.
            SELECT SINGLE * FROM enlfdir
            WHERE funcname = tfdir-funcname.
            SELECT SINGLE * FROM tadir
            WHERE pgmid = 'R3TR'
            AND object = 'FUGR'
            AND obj_name EQ enlfdir-area.
            MOVE : tadir-devclass TO v_devclass.
          ENDIF.
        ENDIF.
        SELECT * FROM tadir INTO TABLE jtab
        WHERE pgmid = 'R3TR'
        AND object IN ('SMOD', 'SXSD')
        AND devclass = v_devclass.
        SELECT SINGLE * FROM tstct
        WHERE sprsl EQ sy-langu
        AND tcode EQ p_tcode.
        FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.
        WRITE:/(19) 'Transaction Code - ',
        20(20) p_tcode,
        45(50) tstct-ttext.
        SKIP.
        IF NOT jtab[] IS INITIAL.
          WRITE:/(105) sy-uline.
          FORMAT COLOR COL_HEADING INTENSIFIED ON.
    Sorting the internal Table
          SORT jtab BY object.
          DATA : wf_txt(60) TYPE c,
          wf_smod TYPE i ,
          wf_badi TYPE i ,
          wf_object2(30) TYPE c.
          CLEAR : wf_smod, wf_badi , wf_object2.
    Get the total SMOD.
          LOOP AT jtab INTO wa_tadir.
            AT FIRST.
              FORMAT COLOR COL_HEADING INTENSIFIED ON.
              WRITE:/1 sy-vline,
              2 'Enhancement/ Business Add-in',
              41 sy-vline ,
              42 'Description',
              105 sy-vline.
              WRITE:/(105) sy-uline.
            ENDAT.
            CLEAR wf_txt.
            AT NEW object.
              IF wa_tadir-object = 'SMOD'.
                wf_object2 = 'Enhancement' .
              ELSEIF wa_tadir-object = 'SXSD'.
                wf_object2 = ' Business Add-in'.
              ENDIF.
              FORMAT COLOR COL_GROUP INTENSIFIED ON.
              WRITE:/1 sy-vline,
              2 wf_object2,
              105 sy-vline.
            ENDAT.
            CASE wa_tadir-object.
              WHEN 'SMOD'.
                wf_smod = wf_smod + 1.
                SELECT SINGLE modtext INTO wf_txt
                FROM modsapt
                WHERE sprsl = sy-langu
                AND name = wa_tadir-obj_name.
                FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
              WHEN 'SXSD'.
    For BADis
                wf_badi = wf_badi + 1 .
                SELECT SINGLE text INTO wf_txt
                FROM sxs_attrt
                WHERE sprsl = sy-langu
                AND exit_name = wa_tadir-obj_name.
                FORMAT COLOR COL_NORMAL INTENSIFIED ON.
            ENDCASE.
            WRITE:/1 sy-vline,
            2 wa_tadir-obj_name HOTSPOT ON,
            41 sy-vline ,
            42 wf_txt,
            105 sy-vline.
            AT END OF object.
              WRITE : /(105) sy-uline.
            ENDAT.
          ENDLOOP.
          WRITE:/(105) sy-uline.
          SKIP.
          FORMAT COLOR COL_TOTAL INTENSIFIED ON.
          WRITE:/ 'No.of Exits:' , wf_smod.
          WRITE:/ 'No.of BADis:' , wf_badi.
        ELSE.
          FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
          WRITE:/(105) 'No userexits or BADis exist'.
        ENDIF.
      ELSE.
        FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
        WRITE:/(105) 'Transaction does not exist'.
      ENDIF.
    AT LINE-SELECTION.
      DATA : wf_object TYPE tadir-object.
      CLEAR wf_object.
      GET CURSOR FIELD field1.
      CHECK field1(8) EQ 'WA_TADIR'.
      READ TABLE jtab WITH KEY obj_name = sy-lisel+1(20).
      MOVE jtab-object TO wf_object.
      CASE wf_object.
        WHEN 'SMOD'.
          SET PARAMETER ID 'MON' FIELD sy-lisel+1(10).
          CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.
        WHEN 'SXSD'.
          SET PARAMETER ID 'EXN' FIELD sy-lisel+1(20).
          CALL TRANSACTION 'SE18' AND SKIP FIRST SCREEN.
      ENDCASE.
    Reagards,
    Bharat.

Maybe you are looking for

  • I can't get sound on my old Premiere Elements Files

    I had an old windows laptop....which I had Premiere elements 2 on.  I had some rendered files.... they have come over to Premiere Elements 12 and they are playing, but I have no sound.  The sound is on on the computer and but not when I playback. I a

  • ITunes keeps on loading/lagging?

    iTunes keeps loading/lagging like this (under image), when i click on a device connected to iTunes and when i click on a song? Please Help?  

  • Solaris 10 x86 package database corruption

    After installing Solaris 10 3/05 s10_74L2a X86 (version as described in /etc/release) I find that the package database file /var/sad/install/contents appears to be corrupt. If I do a "pkginfo -l <package name>" command to view the details of a packag

  • Modal error with motion controller PCI-7344 during find reference sequence

    I get the following error code when I start a find reference sequence (find encoder index) programmatically: Error # -70125 occured at FindReference on Axis 1 Possible reasons: Motion: -70125 (NIMC_wrongModeError) The function was not executed becaus

  • Music on iphone not in library

    Can't find how to sync music that already exists on phone but isn't on my music library...help