Re: Windows Forms layout - how to do it?

  • From: Jamal Mazrui <empower@xxxxxxxxx>
  • To: programmingblind@xxxxxxxxxxxxx
  • Date: Sun, 07 Aug 2011 09:54:41 -0400

Hi Rick,
Let me try to answer some of your questions.

Freedom Scientific does not run email discussion lists related to JAWS. Rather, there are a few diffrent ones run by community members. The one related to scripting is called "JAWSScripts." One can join via the web site

http://FreeLists.org

It is a relatively low traffic list. Freedom Scientific does do a monthly podcast about news related to JAWS and other company products. One can find it on the web site

http://FreedomScientific.com

Documentation for JAWS and JAWS scripting is generally available in .chm files distributed with the program. A demo version of JAWS may be downloaded from the web site. I think it is fully functional except that a reboot is required every 40 minutes.

I have converted all JAWS documentation to text in the archive available at

http://EmpowermentZone.com/jfw12doc.zip

Included are two tutorials I recommend reading, which have the file names

Basics_of_Scripting.txt

and

ScriptingManual.txt

A comprehensive reference to the scripting language is in the file

fsdn.txt

JAWS has a "home row mode," in which one can intterogate windows for various properties. MSAA queries are also supported, but not UIA ones at this time. JAWS mostly supports UIA, but that support is not yet exposed via the scripting language, unfortunately.

There are also a few third party tools for analyzing a Windows application to inform scripting. These include WinDig

http://EmpowermentZone.com/wdsetup.exe

and BX, available from

http://dlee.org

I have bundled some of these in the package called JAWS Script Exchange, available at

http://EmpowermentZone.com/jsxsetup.exe

Let us know if you have more questions.

Jamal



On 8/4/2011 3:22 PM, RicksPlace wrote:
> Hi: I am wondering about how JAWS scripting works.
> For WindowEyes they use standard Windows Properties, methods and events
> along with MSAA Accessibility features.
> They also have some tools to analyze a Third Party Software's DOM in
> real time.
> There are numerous xml based UI Controls that are used with the
> WindowEyes Scripts and it uses standard VBScript, or other language, to
> access any of the system resources and some Framework Features.
> How does JAWS handle
> Analysis of Third Party Software:
> Accessing, modifying and, or, replacing UI elements on Windows Forms or
> Webpages:
> Creating code to access windows system methods and classes or Framework
> classes.
> The new technicals WPF and HTML5 and UIA are getting pretty complex and
> so scripting will likely require more power to be able to keep up.
> I'm not sure WindowEyes will be able to keep up since they are already
> behind at least 2 other screen readers when it comes to accessing new
> technicals and I'm not sure they are going to be able to keep up.
> So what can I expect to find trying to script JAWS for say Visual Studio
> 2010 and WPF, HTML5 and CSS3 or is it CSS4 now?
> So far WindowEyes is not even in the game except for some converted MSAA
> legacy support of some UIA elements.
> Rick USA

On 8/7/2011 9:21 AM, RicksPlace wrote:
Hi: Jamal is spot on. You can calculate the positions of your controls
by viewing your screen as some gometric picture in your mind. Perhaps a
quadrant layout with 4 squares making up the screen. Then you can group
by function diferent controls in each quadrant.
Perhaps some checkboxes and a label and ListBox related to selecting a
time and date in the upper left, then perhaps another ListBox and label
to select a Person or something else in the upper right. Then perhaps a
Car Type or whatever in the lower left and perhaps a few buttons like
OK, Cancel and Clear at eht bottom of the right lower quadrant. If you
have some controls that don't quite fit you can extend horizontally or
vertically a quadrant, merge to or more of them to make a full screen
horizontal box or vertical box etc...
This might not be the prettiest layout but it works and is readable
enough for sighted users if you do it correctly.
Rick USA
----- Original Message ----- From: "Jamal Mazrui" <empower@xxxxxxxxx>
To: <ProgrammingBlind@xxxxxxxxxxxxx>
Sent: Friday, August 05, 2011 12:01 PM
Subject: RE: Windows Forms layout - how to do it?


Microsoft guidelines on user interface design are available at

http://msdn.microsoft.com/en-us/library/ms997619

Support for creating GUIs in the Windows Forms designer has been part
of the JAWS scripts for VS 2005 or 2008, available at

http://EmpowermentZone.com/msenv2005.exe
(or .zip extension for a manual install).

Using a command-line compiler does not necessarily mean creating
console apps. Each .NET command line compiler can be passed a
parameter that determines whether a console-mode or a Windows-mode
executable is created.

In general, a screen reader user tends to lay out forms either via
arithmetic calculations of control positions, sizes, and spacing, or
via layout containers that do much of that work automatically. Nearly
every development framework these days includes such layout containers
as part of its API or object model. In the .NET Framework, they are
called FlowLayoutPanel and TableLayotPanel. Lbc uses these behind the
scenes.

LayoutPanel
sizes

Jamal

-----Original Message-----
From: programmingblind-bounce@xxxxxxxxxxxxx
[mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Bue
Vester-Andersen
Sent: Friday, August 05, 2011 10:49 AM
To: 'Jamal Mazrui'; programmingblind@xxxxxxxxxxxxx
Subject: SV: Windows Forms layout - how to do it?

Hi Jamal,

Thanks for the reply. I will try what you have mentioned. I then suggest
that we move the discussion off the list, so we don't make too much
noice.

I am still very interested in knowing how everybody else on the list is
making a gui with a decent layout, Windows forms or not. You can't
mean to
tell me that you are all stuck with making command line driven console
apps
:-)

Best regards
Bue


-----Oprindelig meddelelse-----
Fra: Jamal Mazrui [mailto:empower@xxxxxxxxx]
Sendt: 5. august 2011 15:59
Til: programmingblind@xxxxxxxxxxxxx
Cc: bva_lists@xxxxxxxxxxxxxxxxxx
Emne: Re: Windows Forms layout - how to do it?

Hi,
I use a text editor rather than Visual Studio for .NET development, so
was
hoping that someone else might have a solution to the problem you
experienced compiling with Homer.NET. As its author, I would like to work
with you to resolve the problem. If possible, please try the following
and
report yur results.

I think there is a way that VS hosts a program that is under development,
rather than launching that program to run independently. I am not
sure, but
think that is where the problem is arising. Can you compile the code and
run it without this hosting scenario? For example, I vaguely recall that
Control+F5 compiles, whereas F5 runs a program in a hosted mode. If
compiling is successful, then try running the program outside of VS,
or look
for menu options on a project or build menu that allow you to run the
program independently (not hosted for debugging, etc.).

If that does not work, try compiling from the command line with the C#
compiler, csc.exe. There is a VS Start Menu option for opening a console
mode environment that sets appropriate paths to the command line
compilers.
You will need to reference assemblies as appropriate when calling the
compiler. the batch files distributed with Homer.NET illustrate how this
may be done.

I realize that you may prefer to use VS for everything rather than a
command-line compiler for some tasks. This would help us identify
where the
problem lies.

Jamal

On 8/5/2011 6:14 AM, Bue Vester-Andersen wrote:
Hi,

I am wondering how you guys make a Windows forms user interface with a
decent layout. I am congenitally blind, and I have always found it a
great pain to make a layout that would work at all.

- which controlls should be where on the form, and where should they
be docked?

- What should be aligned with what? For instance, a text label and a
text box have different hights, so do you align to top bottom or middle?

How do you ensure that each controll has room enough for its text - at
any time? What when you translate the text into another language? What
when the dialog is resized?

Should I just switch to something completely different? WPF is not
terribly accessible, at least not with JAWS for Windows., which
doesn't support UI automation very well.

I could continue until next christmas. Do you all have sighted persons
to scrutinize your forms layout when you change a single byte of code?

I had hoped that I could use Layout by Code but no luck so far. The
thread about that seems to have dissolved into a discussion about to
IDE or not to IDE.

Do any of you know about a layout engine that can solve at least some
of the problems? If not, can you point me to a tutorial on how to make
a good layout? The .net documentation is excelent if you know what you
want to achieve, but I guess that is part of the problem. I don't know
what my form is really supposed to look like, and I don't know when to
dock the controlls left right or center.

Hope someone can help me.

Best regards
Bue

__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind


__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind


__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind


__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind

__________
View the list's information and change your settings at //www.freelists.org/list/programmingblind

Other related posts: