The Drupal 7 installer goes through 7 tasks, beginning with "Choose Profile" and ending with "Finihed". During the installation process the current task is identified visually using the "active" CSS class. There is currently no way for the current installation task to be determined non-visually.

Code for the task list appears below:

              <div id="sidebar-left" class="sidebar">
                    <ol class="task-list"><li class="active">Choose profile</li><li class="">Choose language</li><li class="">Verify requirements</li><li
class="">Set up database</li><li class="">Install profile</li><li class="">Configure site</li><li class="">Finished</li></ol>        </div>
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

mgifford’s picture

What would you like the HTML to look like? How should this be structured?

Mike

scatteredbrainV’s picture

A blind guy I work with had another issue with the installation process of the D7. His screen reader (JAWS 9 or 10 - I'll investigate) did not show him the full message that required to copy the settings.php.default file and rename it in settings.php. So he called me telling me his installation had some sort of trouble he wasn't able to determine. That was not an installation problem, only a task to be performed, but without being able to read its description, he was stuck.

I think we should ask some other screen reader users whether they experienced this same issue or not. In case they did, we should find out what causes its occurrence and fix it.

Everett Zufelt’s picture

@valeria78
Thanks for the comment. I am using JAWS 10 with D7 and have not noticed this problem with the most recent copy of head. It would be nice to know about when this happened, what version of screen-reader and browser and if it is repeatable.

Thanks again for your input.

scatteredbrainV’s picture

The browser was IE7 and JAWS 8 or 9.
Thanks!

Everett Zufelt’s picture

Status: Active » Needs review
FileSize
1.26 KB

The attached patch modifies theme.maintenance.inc : theme_task_list().

The patch adds code to:

1. Not output a class attribute with an empty string for the li elements.
2. Provides an invisible h2 using .element-invisible, to provide context for the list of tasks
3. Appends the invisible text (done) for completed tasks and (active) for the current task.

Output html for the task list with the current patch:

<h2 class="element-invisible">Installation tasks</h2><ol class="task-list"><li class="done">Choose profile<span class="element-invisible">(done)</span></li><li
class="active">Choose language<span class="element-invisible">(active)</span></li><li>Verify requirements</li><li>Set up database</li><li>Install profile</li><li>Configure
site</li><li>Finished</li></ol>
mgifford’s picture

Ran a test with this patch:

<h2 class="element-invisible">Installation tasks</h2><ol class="task-list"><li class="done">Choose profile<span class="element-invisible">(done)</span></li><li class="done">Choose language<span class="element-invisible">(done)</span></li><li class="done">Verify requirements<span class="element-invisible">(done)</span></li><li class="done">Set up database<span class="element-invisible">(done)</span></li><li class="done">Install profile<span class="element-invisible">(done)</span></li><li class="active">Configure site<span class="element-invisible">(active)</span></li><li>Finished</li></ol>

Looks good to me. Visually it's no different.

+1

mcrittenden’s picture

+1 from here too, and test bot likes it.

veeliam’s picture

Status: Needs review » Reviewed & tested by the community

+1

The best part of this is that with CSS disabled the clean mark-up helps the output look readable.

Dries’s picture

Status: Reviewed & tested by the community » Fixed

Committed to CVS HEAD. Thanks.

Everett Zufelt’s picture

Status: Fixed » Needs work

@Dries

Does this need to be documented somewhere? Marking Needs Work while waiting for answer on documentation.

Everett Zufelt’s picture

Status: Needs work » Needs review
FileSize
764 bytes

Fixes missing t() for text of the invisible heading.

Everett Zufelt’s picture

mgifford’s picture

Status: Needs review » Reviewed & tested by the community

Looks good.

webchick’s picture

Status: Reviewed & tested by the community » Needs review

I'm pretty sure you need to use st() here because we don't yet have a database. Did someone try installing with this patch?

mgifford’s picture

Yes, I did install this patch. It's difficult to test the install pages at the moment. I can't get the install profile to display in any other language other than English.

I added this to profiles/default/translations/fr.po:

482 #: install.php:mike
483 msgid "active"
484 msgstr "active fr"
485
486 #: install.php:mike2
487 msgid "done"
488 msgstr "done fr"

Which is where the other interface stuff seems to be.

I just wanted to see it show up in the page source. Didn't see anything other than done & active though when I successfully went through the install.

First time I saw French when beginning to administer the site. Nothing French in the install that I could see.

Wanted to note that if st() is required then it's also going to be needed with stuff already in core. See http://api.drupal.org/api/function/theme_task_list/7

Here's a patch. Would like someone else to test to see that the install can be done properly in French (or any other language).

Everett Zufelt’s picture

Would love a tutorial on providing translations that are recognizable by st() so that I can properly test this patch.

mgifford’s picture

Issue tags: +i18n, +install.php

@webchick

I tried with st() and nothing shows up at all.

With t() the translations begin to appear in the 'Configure site' stage. However that's where we see any content in French (where I did my test) in the install.

It could be that there's something broken with st() or perhaps you're just not supposed to put the string in profiles/default/translations/fr.po

However either st() is broken or I don't know where to insert the strings. The best case I can figure is with the use of t() and that comes right near the end of the translation.

I'm adding some tags so that some i18n folks can look at this.

mgifford’s picture

How/when should the i18n strings come into place in the installation process?

mgifford’s picture

Just did a fresh install in French & didn't see any st() translations coming through after the selection. Is there a better language to test in?

mgifford’s picture

I added a related issue here - http://drupal.org/node/654726 - but agreed it should be st() and not t().

Re-test of installation-task-progress-translation-fix_2.patch from comment #15 was requested by mgifford.

mgifford’s picture

After applying this patch - http://drupal.org/node/654726#comment-2451998

I can confirm that installation-task-progress-translation-fix_2.patch works as expected.

I used these strings:

msgid "done"
msgstr "done ITALIAN"

msgid "active"
msgstr "active ITALIAN"

msgid "Installation tasks"
msgstr "Installation tasks ITALIAN"

and added it into the it.po file that I had tested in the related patch addressing issues with st() translations.

Mike

mgifford’s picture

Note that there is a problem again with #654726: Installing Drupal 7 in non-English language doesn't pick up st() installation lists I'm hoping we can get it resolved shortly though.

ff1’s picture

Status: Needs review » Fixed

Since the issue mentioned in #23 is now fixed and we have documentation for the non-visual theming of the installation progress, I'm marking this issue as fixed.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

Liam Morland’s picture