1. GUI Applications Development Using .NET Framework
Objectives
In this session, you will learn to:
Implement Accessibility features in a .NET application
Identify features of international applications
Implement Globalization and Localization in a .NET application
Ver. 1.0 Session 8 Slide 1 of 18
2. GUI Applications Development Using .NET Framework
Design Guideline for Accessible Applications
• Accessible applications are the applications that are
developed keeping in mind the specific requirement of users
with visual, mobility, and hearing disabilities.
• The applications developed in VC# can be made accessible
by setting certain properties of controls used in them.
• These applications are created with various design
guidelines. These guidelines are:
Flexibility to accommodate a variety of user needs and
preferences.
Simple interface to enable all types of users to interact with the
application.
Compatibility with accessibility aids for users with sensory
limitations.
Multiple Input and Output techniques to benefit users with
varying disabilities.
Ver. 1.0 Session 8 Slide 2 of 18
3. GUI Applications Development Using .NET Framework
Standard Accessibility Properties in VC#
To make an application accessible, some properties need to
be set for the various controls on a form. These are:
AccessibleName
AccessibleDescription
AccessibleRole
TabIndex
Text
Font Size
Ver. 1.0 Session 8 Slide 3 of 18
4. GUI Applications Development Using .NET Framework
Just a minute
Which property is used to specify the use of an element in
the user interface and reports it to the accessibility aids?
1. AccessibleDescription
2. AccessibleRole
3. AccessibleName
Answer:
2. AccessibleRole
Ver. 1.0 Session 8 Slide 4 of 18
5. GUI Applications Development Using .NET Framework
Identifying Features of International Applications
• International applications are designed to be used across
the world.
• International applications should be customizable according
to the preferences of the users across the world.
• An application refers to a locale to identify users’
preferences.
The locale includes
information about formats
used for representing time
and date, symbols and
conventions used for
representing currency, and
the character encoding
scheme being used.
Ver. 1.0 Session 8 Slide 5 of 18
6. GUI Applications Development Using .NET Framework
Identifying Features of International Applications (Contd.)
The structure of an internationalized application is divided
into two blocks:
– Code block Contains the application
– Data block code or the executable
part of an application.
This block will remain
same for all locales.
Ver. 1.0 Session 8 Slide 6 of 18
7. GUI Applications Development Using .NET Framework
Identifying Features of International Applications (Contd.)
The structure of an internationalized application is divided
into two blocks:
– Code block
– Data block Contains all the resources, such as
text and images, used by the user
interface (UI). This block is
locale-specific, and each locale will
have one data block.
Ver. 1.0 Session 8 Slide 7 of 18
8. GUI Applications Development Using .NET Framework
Identifying Features of International Applications (Contd.)
The process of making an application ready for international
customers is called internationalization. This process
includes three phases as shown in the following figure.
Involves writing the Involves testing an Involves the
executable code for an application, which has customization of an
application in such a been globalized to ensure application for a
way that makes it that its executable code is specific locale.
culture-neutral and independent of the culture
language-neutral. and language specific
data.
Ver. 1.0 Session 8 Slide 8 of 18
9. GUI Applications Development Using .NET Framework
Factors Related to Creating International Applications
The issues related to internationalization of applications are:
Language issues
Formatting issues
String-related issues
User-interface issues
Ver. 1.0 Session 8 Slide 9 of 18
10. GUI Applications Development Using .NET Framework
Creating International Applications
To create international applications, implement the
following:
Work with multiple culture codes
Culture-specific formatting
Character encoding
Right-to-left display
Validate non-Latin user input
Culture-specific classes and methods
Ver. 1.0 Session 8 Slide 10 of 18
11. GUI Applications Development Using .NET Framework
Just a minute
• Which property of the CultureInfo class will return an
instance of the CultureInfo class that represents the
culture for culture-specific resources?
Answer:
CurrentUICulture
Ver. 1.0 Session 8 Slide 11 of 18
12. GUI Applications Development Using .NET Framework
Globalizing Windows Forms
Globalization is the process of identifying all localizable
resources in the application and separating them from the
executable code so that the localizable resources can be
modified easily.
Let us understand how we can create such applications.
Ver. 1.0 Session 8 Slide 12 of 18
13. GUI Applications Development Using .NET Framework
Localizing Windows Forms
Localization is the process of customizing an application for
a given culture.
Localization consists primarily of translating the user
interface.
A form can be localized by setting its Localizable property to
True.
Let us understand how can we create such applications.
Ver. 1.0 Session 8 Slide 13 of 18
14. GUI Applications Development Using .NET Framework
Application Resources
A resource is any non-executable data that is logically
deployed with the application.
Packaging the localizable data in a resource file allows to
change the data without recompiling the entire application.
Information is stored in a resource file in the Key/Value
format.
Consider the following code snippet: Key
WelcomeText = “Welcome to VC#” Value
Ver. 1.0 Session 8 Slide 14 of 18
15. GUI Applications Development Using .NET Framework
Resource Assemblies
Resource assemblies are assemblies that contain only
resources.
Advantage of resource assemblies:
The assembly can be updated as and when required without
having to recompile the application.
Satellite assemblies are resource assemblies that include
separate resources for different cultures.
Ver. 1.0 Session 8 Slide 15 of 18
16. GUI Applications Development Using .NET Framework
Just a minute
Which command prompt utility is used to convert a resource
file from the text format into the binary format?
Answer:
Resource File Generator (ResGen.exe) Utility
Ver. 1.0 Session 8 Slide 16 of 18
17. GUI Applications Development Using .NET Framework
Summary
In this session, you learned that:
Applications need to be made accessible so that they can be
used by a wide range of audience, including those with special
needs.
You need to follow a set of guidelines for developing
accessible applications.
The .NET Framework provides support for the development of
world-ready applications. It helps you create applications that
adapt to various languages, currency formats, date/time
formats, and other culture-specific information.
When developing a world-ready application, the process
should be divided into three phases: globalization, localizability,
and localization.
While globalizing an application, you should strive to code the
application in such a way that allows it to work equally well for
all cultures your application supports.
Ver. 1.0 Session 8 Slide 17 of 18
18. GUI Applications Development Using .NET Framework
Summary (Contd.)
During the localizability phase, you test whether the
application's executable code has been properly separated
from its resources.
During localization an application is customized for specific
cultures or regions.
A resource is any non-executable data that is logically
deployed with an application.
Ver. 1.0 Session 8 Slide 18 of 18
Editor's Notes
Start the session by sharing the session objectives with the students.
Initiate the session by discussing with the students that there are people with different types of disabilities such as visual and hearing disabilities. In addition, discuss with the students that the users around the globe may be accessing the applications differently. While some of them may access applications on their desktops, some might access applications on their mobile devices. Also discuss with the students that all the users around the globe have different languages. Therefore, the applications that are designed must be capable of fulfilling the requirements of this wide variety of users. Such applications are known as accessible applications and can be developed easily by using VC#. Also discuss with the students that there are several guidelines for designing these accessible application. Discuss all of these guidelines with the students.
Discuss all of the properties listed on this slide for designing accessible options.
Reiterate the concepts taught earlier by asking the given question.
Using this slide, discuss with the students that International applications provide the flexibility to be used across the globe. But in order to design these applications, it is essential to include information about the date and time formats and currency symbols. Discuss the following example with the students: a sales monitoring application designed for users in United States uses dollars as their currency. The same application when used by users in UK, would create problems as the users in UK will require all the currency to be converted into pounds. But by using international application, the same application can be used in the United States with dollar format and in UK with pound format. Therefore, the advantage of creating international applications using VC# is that the user is able to get customized applications.
Using this and the next slide, discuss the structure of the International applications. Discuss with the students that the application is divided into two blocks, code block and the data block. The code block contains all the code, while the data block contains locale specific information. For example, the application when used in United States will have its currency in dollar. Whereas when the same application is used in UK, it will have its currency format as pounds.
Using this slide discuss the process of internationalization with the students. Discuss all the three phases : Globalization Localizability Localization Explain this with the help of same sales monitoring application example. Explain to the students that globalization involves creating a general sales monitoring executable application which is not specific to any particular culture around the globe. Localizability involves testing this sales monitoring application to ensure that it does not require any culture specific data and it can work independently. Finally, to use the application for a specific culture such as in United States or UK, the sales monitoring application will have to be localized.
Using this slide, discuss all the issues relating to the internationalization of applications. Explain the language issues to the students by taking the same example as given in the SG. This explains about the Arabic language which is written from right-to-left and hence can create problems while being used in an application. The formatting issues can also be discussed with the help of an example. The example that can be used to explain formatting issue is that of the currency. The currency keeps varying for most of the countries. The string related issues can be discussed with the students as discussed in the SG. Explain to the students that because of difference in language and alphabet set, the appearance of the application may need to be taken care of. For example, “Hello” is an english word. The same word may be written in different languages differently. The user-interface issues have similar problems. The strings written in different language require space differently and may create problems in appearance.
Using this slide, discuss the factors to be considered while developing international application. The faculty must use the previous slide to categorize the issues. Working with multiple culture codes can lead to formatting issues Culture-specific formatting Character encoding can lead to language issues Handling right-to-left display can lead to language issues, formatting issues, and user-interface issues Validating non-Latin user input can lead to language issues as well as string related issues Using the culture-specific classes and methods can lead to language issues
Reiterate the concepts taught earlier by asking the given question.
The faculty must demonstrate the creation of such applications. In addition, using this slide you can discuss globalization with the students. You can take the same example from the SG which is as follows: Consider a form with a Label control named DateLabel, whose Text property is set as: DateLabel.Text = “5/23/1994”; In this case, the Text property of the DateLabel control is set to a constant value and therefore, will always be displayed, as is, whatever be the current culture-settings. Different cultures may use different formats for displaying dates. Therefore, you need to set the Text property of the DateLabel in such a way that allows the application to automatically display the date in a format corresponding to the current culture settings. You can set the Text property of the label by using the Format function, as shown in the following example: DateTime MyDateTime = DateTime.Parse("May 23, 1994"); DateLabel.Text = (MyDateTime.ToString(“d”));
Using this and the next slide, the faculty must demonstrate how an application is localized and how resource files are created.
Explain the advantage of using resource assemblies. These are extremely helpful in large applications where a large number of resource files are created.
Reiterate the concepts taught earlier by asking the given question.
You can summarize the session by using the summary given in the slides. In addition, you can also ask students summarize what they have learnt in this session.